TLegend *LegendInPiXel(TCanvas *c, int x1, int y1, int x2, int y2) { int w = gPad->GetWw(); int h = gPad->GetWh(); double x1ndc = (double)x1 / (double)w; double x2ndc = (double)x2 / (double)w; double y1ndc = (double)y1 / (double)h; double y2ndc = (double)y2 / (double)h; auto l = new TLegend(x1ndc, y1ndc, x2ndc, y2ndc); return l; } void legend_size_in_pixel() { auto c1 = new TCanvas("c1", "c1", 500,300); c1->Draw(); auto l1 = LegendInPiXel(c1, 10, 10, 100, 30); l1->Draw(); auto c2 = new TCanvas("c2", "c2", 0,350,900,500); c2->Draw(); auto l2 = LegendInPiXel(c2, 10, 10, 100, 30); l2->Draw(); }