Re: [ROOT] log scale axis range problem

From: Rene Brun (Rene.Brun@cern.ch)
Date: Sat Oct 26 2002 - 08:35:34 MEST


Hi Kate,

I have modified your script to set the min/max on the Y axis, see below.
I am also proposing a much simpler version.

Rene Brun

//first version: your script slightly modified
void test_logscale(){
TCanvas *c1 = new TCanvas("c1","TRD hit dE");

TFile *my1 = new TFile("test_logscale.root");

my1->ls();
c1->SetLogy();

adchithist->Print("all");

TH1F* adchithist2 = new TH1F;

adchithist2 = adchithist;

adchithist2->Add(adchithist2,adchithist,0.,0.01);

//adchithist2->GetYaxis()->SetRange(0.01,10.);
adchithist2->SetMinimum(0.01);
adchithist2->SetMaximum(10);
adchithist2->Draw();
adchithist2->Print("all");
}


//the simplified version
void test_logscale(){
TCanvas *c1 = new TCanvas("c1","TRD hit dE");

TFile *my1 = new TFile("test_logscale.root");

c1->SetLogy();

adchithist->Scale(0.01);
adchithist->SetMinimum(0.01);
adchithist->SetMaximum(10);
adchithist->Draw();
}


On Fri, 25 Oct 2002, Kate Scholberg wrote:

> Hi,
> 
> I suspect this is a simple problem.  I'm just trying to Draw a simple
> 1D histogram with a log scale, and I'm having trouble getting a
> sensible default range of values on the y-axis from the Draw method.  I
> also don't seem to able to set the axis range by hand with e.g.
> 
> hist->GetYaxis()->SetRange(min,max);
> 
> My test script and histo file:  http://www-lns.mit.edu/~schol/roottest
> (Root 3.03/06, Linux)
> 
> In this simple example, the histo is filled with values ranging from
> 0.01 to a few tens, but TH1F::Draw starts the y-axis at ~0.2.  Is this
> the expected behavior?  If so, is there an easy way to set the y range
> by hand?  Do I have to make a new TAxis or something?
> 
> Kate Scholberg
> 
> 
> 



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