Benoit,
If you are setting:
fCanvas->SetLogy(1);
and in addition computing y with
tgraph->SetPoint(i,x[i],fabs(log10(y[i])));
you define a log(log) scale ! I am not sure that it is what you want!
Rene Brun
Benoit Revenu wrote:
>
> Hi rooters,
>
> I'm trying to do something like :
>
> fCanvas->SetLogy(1);
> for(i=0;i<dim;i++)
> {
> tgraph->SetPoint(i,x[i],fabs(log10(y[i])));
> tgraph->SetPointError(i,0,fabs(log10(sqrt(y[i]))));
> }
> fCanvas->DrawFrame(rxmin, // xmin
> log10(rymin), // ymin
> rxmax, // xmax
> log10(rymax) // ymax
> );
> for( unsigned int i=0;i<nmax;i++ )
> {
> dist = fLDF[i][0];
> sig = fLDF[i][1];
> tgraphLDF0->SetPoint(i,dist,log10(sig));
> }
>
> tgraph->GetXaxis()->SetTitle("Distance to axis (m)");
> tgraph->GetYaxis()->SetTitle("Tank signal (VEM)");
> tgraph->Draw("P");
> tgraphLDF0->Draw("L");
> fText.SetTextSize(0.04);
> fText.SetTextAlign(22);
> fText.SetNDC(kFalse);
> for( int i=0;i<dim;i++ )
> {
> fText.DrawText(x[i],log10(log10(1.5*y[i])),"toto");
> }
> fCanvas->Update();
> sprintf(name,"signal_%d",fSdEvent->fEventNumber);
> if( fIsBatch ) SaveCanvas(name,BATCH);
> else SaveCanvas(name,DEFAULT);
> fCanvas->SetLogy(0); // reset to linear scale
>
> this code works well in the sense I get what I wanted but I'm very
> surprised to have to use log10(log10(...)) for the text to be correctly
> displayed...
>
> fText.DrawText(x[i],log10(log10(1.5*y[i])),"toto");
>
> Maybe I'm doing something wrong in the principle from the beginning ???
This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:13 MET