[ROOT] Fill problem with TGraph Draw

From: Tony Vaiciulis (vaiciuli@b0urpc07.fnal.gov)
Date: Sat Jan 20 2001 - 00:54:23 MET


Hi,

I run the following macro to plot a constant value using the TGraph Draw()
method. The horizontal axis has range 0 to 999, with a total of 1000 bins. 
I set the constant value on the vertical axis to be 3 in this example. By
using the fill option of the Draw() method, I expect to see a rectangle of
height 3 and length 1000, completely filled in with the fill color of my
choice. Instead I see erratic behavior with the 'fill' option UNLESS I
explicitly set to zero the bins 203, 406, 609, 812. Has anyone else seen
strange behavior with the fill option when making a plot with many bins?
My current work around is, unfortunately, to avoid using the fill option.

thanks,
Tony

int mytest()
{
 Float_t  x_values[2016]; 
 Float_t  y_values[2016];

 Int_t    i;
 Float_t  num_points;

 gROOT->Reset();
 gStyle->SetCanvasColor(0);
 gStyle->SetPadGridX(1);
 gStyle->SetPadGridY(1);

 num_points = 1000;
 for (i = 0; i<num_points; i++){
   x_values[i] = i;
 }
 for (i=0; i<num_points; i++){
  y_values[i] = 3;
 }

 // Reset end points to zero (to avoid unwanted display features of
 // 'fill' option of Draw() ).
  y_values[0]            = 0;
  y_values[num_points-1] = 0;

 // For some reason I need the next four lines.
 y_values[203] = 0;  // Erratic fill behavior if commented out
 y_values[406] = 0;  // Erratic fill behavior if commented out
 y_values[609] = 0;  // Erratic fill behavior if commented out
 y_values[812] = 0;  // Erratic fill behavior if commented out

 TCanvas *canvas = new TCanvas("canvas","my plot",10,10,500,600);
 TGraph *Graph = new TGraph(num_points, x_values, y_values);
 Graph->SetFillColor(6);
 Graph->SetMaximum(10);
 Graph->Draw("ALF");  // draw with fill option

 return 0;
}



This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:50:34 MET