[Fwd: Re: [Fwd: Re: [ROOT] zoom problem]]

From: ivan brida (brida@fmph.uniba.sk)
Date: Wed Oct 23 2002 - 19:30:44 MEST


  this is my program after your suggestions:

// corrected macro

{ TGraph *g=new TGraph(10);
  for (int i=0 ; i<10 ; i++) {g->SetPoint(i,i,i);}
  g -> SetMarkerStyle(20);
  TCanvas *c = new TCanvas("c","c");
//  TH1F *hframe = new TH1F ("hframe","",10,1,10);
//  hframe -> SetMinimum(0);
//  hframe -> SetMaximum(10);
//  hframe -> SetStats(0);
//  g->SetHistogram(hframe);*/
  g->SetMinimum(0);   // ------- correcetd
  g->SetMaximum(10);  // ---- corrected
  g -> Draw("ap");
  c -> Modified();
}

I saved this canvas into c1.c (see attachment) which contains:

...
   TH1 *Graph1 = new TH1F("Graph1","Graph",100,0,9.9);
   Graph1->SetMinimum(0);
   Graph1->SetMaximum(10);
   Graph1->SetDirectory(0);
   Graph1->SetStats(0);
   graph->SetHistogram(Graph1);
...

what is the same approach as I used in my original program. if I now 
call .x c1.c, the zoom problem arises.

so why does root save macros in shown way (c1.c) when you suggest to use 
"corrected macro"?

                ivan


Ivan,

I cannot reproduce this problem. Could you be more explicit?

I also suggest to use the PRO version 3.03/09

Rene Brun

On Wed, 23 Oct 2002, ivan brida wrote:

>   hi Rene
> 
> I corrected my program according to your suggestion and it works fine. 
> but if I save the canvas c (created with corrected program) into e.g. 
> c.c, this file contains similar lines as my original program and the 
> same approach via TH1F. and if I call this macro via .x c.c, the 
> original problem vith zooming y-axis arises. so the question is why does 
> root save canvases in such a way?
> 
>                 ivan
> 
> Hi Ivan,
> 
> Replace the following lines in your program:
>   TH1F *hframe = new TH1F ("hframe","",10,1,10);
>   hframe -> SetMinimum(0);
>   hframe -> SetMaximum(10);
>   hframe -> SetStats(0);
>   g->SetHistogram(hframe);
> by
>   g->SetMinimum(0);
>   g->SetMaximum(10);
> 
> Rene Brun
> 
> On Wed, 23 Oct 2002, ivan brida wrote:
> 
> > hi rooters
> > 
> > I have problem with zooming the y-axis. I do this:
> > 
> > { TGraph *g=new TGraph(10);
> >   for (int i=0 ; i<10 ; i++) {g->SetPoint(i,i,i);}
> >   g -> SetMarkerStyle(20);
> >   TCanvas *c = new TCanvas("c","c");
> >   TH1F *hframe = new TH1F ("hframe","",10,1,10);
> >   hframe -> SetMinimum(0);
> >   hframe -> SetMaximum(10);
> >   hframe -> SetStats(0);
> >   g->SetHistogram(hframe);
> >   g -> Draw("ap");
> >   c -> Modified();
> > }
> > 
> > the y-maximum is 10. if I zoom the y-axis interactively (e.g. y=2..5) 
> > and then unzoom, the hframe->GetMaximum() returns the value 1.
> > this problem doesn't occur for x-axis.
> > 
> > I use root version 3.03/08 20.8.2002, win 2000.
> > 
> > could anybody help me?
> > 
> > thanks
> > 
> >             ivan
> > 
> 
> 





-- 
         _____________________________

                   Ivan Brida

         Department of Nuclear Physics
Faculty of mathematics, physics and informatics
              Comenius  University
                 Mlynska Dolina
                84248 Bratislava
                Slovak  Republic

               brida@fmph.uniba.sk



{
//=========Macro generated from canvas: c/c
//=========  (Wed Oct 23 18:38:54 2002) by ROOT version3.03/08
   TCanvas *c = new TCanvas("c", "c",0,0,685,440);
   c->Range(-1.19741,-1.1745,11.1829,11.3087);
   c->SetBorderSize(2);
   c->SetFrameFillColor(0);
   
   TGraph *graph = new TGraph(10);
   graph->SetName("Graph");
   graph->SetTitle("Graph");
   graph->SetFillColor(1);
   graph->SetMarkerStyle(20);
   graph->SetPoint(0,0,0);
   graph->SetPoint(1,1,1);
   graph->SetPoint(2,2,2);
   graph->SetPoint(3,3,3);
   graph->SetPoint(4,4,4);
   graph->SetPoint(5,5,5);
   graph->SetPoint(6,6,6);
   graph->SetPoint(7,7,7);
   graph->SetPoint(8,8,8);
   graph->SetPoint(9,9,9);
   
   TH1 *Graph1 = new TH1F("Graph1","Graph",100,0,9.9);
   Graph1->SetMinimum(0);
   Graph1->SetMaximum(10);
   Graph1->SetDirectory(0);
   Graph1->SetStats(0);
   graph->SetHistogram(Graph1);
   
   graph->Draw("ap");
   
   TPaveText *pt = new TPaveText(0.01,0.945,0.118083,0.995,"blNDC");
   pt->SetName("title");
   pt->SetBorderSize(2);
   pt->SetFillColor(19);
   TText *text = pt->AddText("Graph");
   pt->Draw();
   c->Modified();
   c->cd();
}



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