> >
> > 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);
> //adchithist2->GetYaxis()->SetRange(0.01,10.);
> adchithist2->SetMinimum(0.01);
> adchithist2->SetMaximum(10);
> adchithist2->Draw();
> adchithist2->Print("all");
OK, this works. But wouldn't it be a more sensible default behavior
to have the axis range automatically set correctly for a log plot?
Shouldn't the histograms know what their minimum and maximum (nonzero) values
are? Is there a good reason why this doesn't work automatically?
But leaving that aside for the moment, I have another log scale plot
with a scaled histogram that isn't plotting correctly. The simple
macro example is attached. Root 3.03/06 works but Root 3.03/08 and
beyond (including the latest version from the cvs repository) just
plot nothing at all, although it seems to choose a reasonable y-axis
(in all cases RH Linux 7.3). It seems to matter what the value used
for scaling actually is. A bug?
Kate Scholberg
schol@mit.edu
------------------------------------------------------------
void Scaled_hist()
{
TCanvas *c2 = new TCanvas("c2","TRD hit dE");
c2->SetLogy(1);
c2->SetFillColor(10);
gStyle->SetOptStat(0);
Int_t nbin = 200;
Float_t firstbin = 0.;
Float_t lastbin = 200.;
TH1F *detrd = new TH1F("detrd","dE from TRD",nbin,firstbin,lastbin);
Float_t sum=0.;
for(int i=0;i<1000;i++){
sum = Float_t(gRandom->Gaus(0,20));
detrd->Fill(sum);
}
detrd->Scale(1./50.);
detrd->SetMarkerColor(2);
detrd->SetMarkerStyle(22);
detrd->Draw("p");
}
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:51:16 MET