Re: [ROOT] TGraph Xaxis range

From: Ernesto Lopez (lopez@to.infn.it)
Date: Tue Jul 09 2002 - 17:10:23 MEST


Hi,
To retrives the axis from a TGraph, you need to draw the graph first,
only then does it actually have an axis object. Once drawn, you set the
range, draw again and update the canvas.

TCanvas c1 = new TCanvas("c1","graph",10,20,200,400);
TGraph *gr = new TGraph (5,x,y);
gr->Draw("AC*");
gr->GetXaxis()->SetRangeUser(0.2,0.4);
gr->Draw("AC*");
c1->Update();

Regards
  Ernesto


On Tue, 9 Jul 2002, Marcos wrote:

> Hello Pietro
> I think that if you use gr->GetXaxis->SetLimits(0.2,0.4) will work, it worked
> for me. :)
>
> Pietro Govoni wrote:
>
> > Dear rooters,
> > I'm trying to draw Tgraph in a certain range, narrower than the
> > definition's one.
> > The code I'm using is a simple example:
> >
> > void TGraph_example()
> > {
> >  Double_t x[5];
> >  Double_t y[5];
> >  for (Int_t i=0; i<5; i++) {x[i]=0.1*i;y[i]=10*sin(x[i]+0.2);}
> >  TGraph *gr = new TGraph (5,x,y);
> >  gr->GetXaxis()->SetRangeUser(0.2,0.4);
> >  gr->Draw("AC*");
> > }
> >
> > When I use it as a sequence of prompt commands everything works properly,
> > but if I try to let ROOT execute them as a macro I get this error:
> >
> > Processing TGraph_example.C...
> > Error: illegal pointer to class object GetXaxis() 0x0 126
> > FILE:TGraph_example.C LINE:9
> > *** Interpreter error recovered ***
> >
> > This is my version of root:
> >
> >   *   Version   3.03/05        1 May 2002   *
> >
> > Is there anything that I forgot?
> > Thank you for your attention, regards
> >
> > pietro
>
>



This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:50:59 MET