TLegend issue - line properties mismatch

From: Steve Skutnik <seskutni_at_ncsu.edu>
Date: Mon, 18 Feb 2008 00:05:34 -0500


Hi,

I appear to be having difficulty with the TLegend feature in ROOT 5.18/00, running on Windows XP.

Essentially, the TLegend object does not appear to correctly be grabbing the line properties I set - rather, it seems to be "offset." For example, for the attached code, I should expect to see the following for each function:

systemMember_cost:  Orange
systemMember_cost2: Red
systemMember_ex1:  Blue
systemMember_ex3:  Green

These lines graph correctly as their assigned colors. However, in the TLegend, they show up as:

systemMember_cost:  Red
systemMember_cost2:Blue
systemMember_ex1:  Green
systemMember_ex3:  Green

A similar effect occurs if I attempt to modify the line style for any particular line.

What am I doing incorrectly here?

Thanks!

-Steve



//Code snippet follows below

  c1 = new TCanvas("c1","System Fuzzy Number Membership Function",200,10,800,600);
  pad1 = new TPad("pad1","LWR-OT Pad",0,0,1,1,-1,0,0);   pad1->Draw();
  pad1->cd();

  TF1* systemMember_cost = get_mem_func(num_barriers, num_stages, totCostWeight, total_stage_weight, barrierPointers, barWeight_cost, stage_weight, barrier_mean);
  //systemMember_cost->SetTitle("System Membership: Cost Weighting (Access)");   systemMember_cost->SetTitle("LWR-OT System Membership: Cost (Access, Paper), Expert (#1 and #3) Weighting");
  systemMember_cost->SetLineColor(kOrange);   systemMember_cost->DrawCopy();

  TF1* systemMember_cost2 = get_mem_func(num_barriers, num_stages, totCostWeight2, total_stage_weight, barrierPointers, barWeight_cost2, stage_weight, barrier_mean);
  systemMember_cost2->SetTitle("System Membership: Cost Weighting (FLB Paper)");
  systemMember_cost2->SetLineColor(kRed);   systemMember_cost2->DrawCopy("SAME");

  TF1* systemMember_ex1 = get_mem_func(num_barriers, num_stages, totEx1Weight, total_stage_weight, barrierPointers, barWeight_ex1, stage_weight, barrier_mean);

  systemMember_ex1->SetTitle("System Membership: Expert #1 Weighting");
  systemMember_ex1->SetLineColor(kBlue);
  systemMember_ex1->DrawCopy("SAME");

  TF1* systemMember_ex3 = get_mem_func(num_barriers, num_stages, totEx3Weight, total_stage_weight, barrierPointers, barWeight_ex3, stage_weight, barrier_mean);

  systemMember_ex3->SetTitle("System Membership: Expert #3 Weighting");
  systemMember_ex3->SetLineColor(kGreen);
  systemMember_ex3->DrawCopy("SAME");

  TLegend *legend = new TLegend(0.75,0.8,1,0.95,"");

  legend->AddEntry( systemMember_cost, "Cost-based (ACCESS)","l");
  legend->AddEntry( systemMember_cost2, "Cost-based (FLB Paper)","l");
  legend->AddEntry( systemMember_ex1, "Expert #1","l");
  legend->AddEntry( systemMember_ex3, "Expert #3","l");

  legend->Draw();

Received on Mon Feb 18 2008 - 06:05:50 CET

This archive was generated by hypermail 2.2.0 : Mon Feb 18 2008 - 11:50:01 CET