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