Hi Yongzhao, You can change the vertical scale (min/max) on a canvas with TH1 or TGraph directly using the left button of your mouse. Calling TGraph::SetMaximum via the context menu may not work if you use the option "AL" to draw the graph. The option "A" forces a recomputation of the min/max of the TGraph. Rene Brun Yongzhao Zhou wrote: > > Dear Rooters, > A macro based slider example on root v2.23 is > > //=============macro slider.C============================= > { > gROOT->Reset(); > > // --- setting canvas and pad > c1 = new TCanvas("c1","A Simple Graph Example",200,10,700,500); > > c1->SetFillColor(42); > c1->SetGridx(); > c1->SetGridy(); > pad1 = new TPad("pad1","c1",0.1,0.1,0.9,0.9,18); > > pad1->SetGrid(); > pad1->SetBottomMargin(0.3); > pad1->SetLeftMargin(.3); > pad1->SetRightMargin(.3); > pad1->Draw(); > > // --- Draw a histogram plot > pad1->cd(); > > Int_t n = 20; > Float_t x[n], y[n]; > for (Int_t i=0;i<n;i++) { > x[i] = i*0.1; > y[i] = 10*sin(x[i]+0.2); > } > Float_t xmin = 0; > Float_t xmax = 2; > Float_t ymax = 11; > TH1F *hist = new TH1F("hist","a simple graph",100,xmin,xmax); > hist->SetMaximum(15); > hist->SetMinimum(-2); > hist->Draw(); > hist->SetXTitle("X title"); > hist->SetYTitle("Y title"); > > // --- Draw a graph > gr = new TGraph(n,x,y); > gr->SetFillColor(1); > gr->SetLineColor(2); > gr->SetLineWidth(4); > gr->SetMarkerColor(4); > gr->SetMarkerStyle(21); > gr->SetTitle("a simple graph"); > gr->Draw("LP"); > > // --- Create one slider in main canvas > pad1->Update(); > c1->Update(); > TSlider *xslider = new > TSlider("xslider","x",xmin,ymax,xmax,ymax+1.7); > xslider->SetMethod(".x grSliderAction.C"); > } > > /* > // --- This macro is another C codes > //===========macro grSliderAction.C============== > { > Int_t nx = hist->GetXaxis()->GetNbins(); > Int_t binxmin = nx*xslider->GetMinimum(); > Int_t binxmax = nx*xslider->GetMaximum(); > hist->GetXaxis()->SetRange(binxmin,binxmax); > > c1->Modified(); > c1->Update(); > } > */ > > But the function SetMaximum on a pop-up menu by clicking with the righ > moose button on the TGraph picture can not set and change the Y axis. > I don't know why. > Thanks for any help. > Best Regards, > Yongzhao Zhou > > ------ > Yongzhao Zhou, KLOE, LNF, INFN, Italy > Tel:39-06-94032696 Fax:39-06-94032427
This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:28 MET