Hello Rene,
Excuse me I couldn't reply directly last week about this.
I don't agree with you, especially if you don't tell me why it was a
mistake in PAW, I think that both features should be available.
===> Could you explain me why colors, titles, etc ... are then
necessary histograms' properties ??
cheers,
sebastien.
On Fri, 19 Apr 2002, Rene Brun wrote:
> Hi Sebastien,
>
> The lin/log scale is not a property of the histogram. I know that
> we had this feature in PAW and it was a mistake.
> Lin/Log scale is a property of the pad.
> You can toggle between lin/log scale after having drawn your histogram.
> In the same way, you can change the object attributes after having drawn the
> object Unlike in PAW where you had to repeat the complete set
> of commands).
>
> Note that when drawing ntuples in a pad with a log x scale, TTree::Draw
> will conveniently create a histogram with bins "linear in a log scale"
>
> Rene Brun
>
>
>
>
> Sebastien Greder wrote:
> >
> > Hello Rooters,
> >
> > I was just wondering about TH1 objects ; usually when I want to plot
> > an/several histo(s) and/or save it(them),the different steps look like:
> >
> > - create my histo
> > - fill it
> > - give some attributes settings (color, marker style and so on)
> > - draw or histo->Write()
> >
> > If I want my histo(s) to have a log scale (x or y), I have to act on the
> > corresponding pad through the SetLogX method. So this operation can only
> > be done once the histo has been drawn or saved.
> >
> > Since I'm a lazy guy, I usually write some macros to plot/save several
> > histos like :
> >
> > void Plot_ps(TH1* hist1, Char_t* title = "", Char_t* option = "",
> > Bool_t logy = 0, Bool_t logx = 0, Bool_t fit = 0,
> > Int_t stati = 111111, Bool_t wait = 0, etc .....)
> > {
> > TCanvas *c1 = (TCanvas*)gROOT->FindObject("c1");
> > if (c1) {c1->Clear();}
> > else {
> > style();
> > c1 = (TCanvas*)gROOT->FindObject("c1");
> > }
> >
> > TPad* pad1 = new TPad("pad1","pad",0.03,0.03,0.98,0.98);
> > pad1->Draw();
> > if (logy) pad1->SetLogy(); if (logx) pad1->SetLogx();
> >
> > pad1->cd();
> > hist1->SetFillColor(5);
> > hist1->SetEverythingIwantToDoToHaveANiceHisto();
> >
> > if (fit) hist1->Fit("gaus");
> > hist1->GetXaxis()->SetTitleSize(0.05);
> > hist1->Draw(option);
> >
> > // l'histo est memorise
> > c1->Update();
> > }
> >
> > but it's not always a convenient situation.
> > In fact there are a lot of things that can be set in before "validating"
> > a histo (about ~40 "Set..." methods dealing with content,axis
> > range,colors, etc ...) so why not SetLogX/Y ?
> > It should be nice to have this possibility in TH1 or in TAxis (so that a
> > histo->GetXAxis()->SetLogX() could be done).
> >
> > Or did I miss something and this operation is already available ??
> >
> > Cheers,
> >
> > sebastien.
>
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:50:51 MET