Hi Joe, In attachment, a script illustrating how to add/replace labels to the axes. Rene Brun joe robe wrote: > > Hell Rene, > > what a pitty , this looks like a lot of work ! What is > that Get and SetBinLabel methods in TAxis, was that > never implemented ? > > What is the best approach to draw my individual axis > labels ? Calculating the positions and then use TText, > TLabel or so or is there any way TAxis can be modified > for that ? > > Joe > > --- Rene Brun <Rene.Brun@cern.ch> wrote: > > Hi Joe, > > > > Graphs with gaps are not implemented in ROOT and we > > have no plans > > to implement this feature in the short term. This > > has several > > implications (lin/log scales, picking, superimposed > > fitted functions, etc) > > > > The only possibility that I see is to call the basic > > primitives > > or use an index (what you already do if I > > understand). > > For the axis values, you have to draw the individual > > axis labels one by > > one. > > > > Rene Brun > > > > On Thu, 9 Aug 2001, joe robe wrote: > > > > > hello rooters, > > > > > > we are still working on the problem how to draw a > > time > > > series chart with gaps NOT DRAWN. Stocks only > > trade in > > > a specific time range. If I draw a time series of > > 2 > > > days I get a gap of approx. 18 hours in my chart. > > > > > > I dont think there is a way to draw a chart with a > > > TIME X axis where part of the time is not drawn. > > > > > > I can draw the chart correctly by changing the X > > axis > > > to the index, but now my X axis shows numbers > > instead > > > of the time. > > > > > > Of course I have the corresponding time values to > > > these numbers, so is there a way to plot user > > defined > > > X values ? > > > > > > In TAxis there is a virtual funciotn > > get/setBinLabel > > > which sounds like it could do what I want, but > > nowhere > > > I found a implementation of this virtual > > funcktion ! > > > > > > Joe > > > > > > > > > __________________________________________________ > > > Do You Yahoo!? > > > Make international calls for as low as $.04/minute > > with Yahoo! Messenger > > > http://phonecard.yahoo.com/ > > > > > > > __________________________________________________ > Do You Yahoo!? > Make international calls for as low as $.04/minute with Yahoo! Messenger > http://phonecard.yahoo.com/ void BinLabels() { const Int_t nx = 12; const Int_t ny = 20; char *months[nx] = {"January","February","March","April","May","June","July", "August","September","October","November","December"}; char *people[ny] = {"Jean","Pierre","Marie","Odile","Sebastien","Fons","Rene", "Nicolas","Xavier","Greg","Bjarne","Anton","Otto","Eddy","Peter","Pasha", "Philippe","Suzanne","Jeff","Valery"}; TCanvas *c1 = new TCanvas("c1","demo bin labels",10,10,800,800); c1->SetGrid(); c1->SetLeftMargin(0.15); c1->SetBottomMargin(0.15); TH2F *h = new TH2F("h","test",nx,0,nx,ny,0,ny); for (Int_t i=0;i<5000;i++) { h->Fill(gRandom->Gaus(0.5*nx,0.2*nx), gRandom->Gaus(0.5*ny,0.2*ny)); } h->SetStats(0); h->GetXaxis()->SetLabelOffset(99); h->GetYaxis()->SetLabelOffset(99); h->Draw("text"); // draw labels along X Float_t x, y; y = gPad->GetUymin() - 0.2*h->GetYaxis()->GetBinWidth(1); TText t; t.SetTextAngle(60); t.SetTextSize(0.02); t.SetTextAlign(33); for (i=0;i<nx;i++) { x = h->GetXaxis()->GetBinCenter(i+1); t.DrawText(x,y,months[i]); } // draw labels along y x = gPad->GetUxmin() - 0.1*h->GetXaxis()->GetBinWidth(1); t.SetTextAlign(32); t.SetTextAngle(0); for (i=0;i<ny;i++) { y = h->GetYaxis()->GetBinCenter(i+1); t.DrawText(x,y,people[i]); } }
This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:50:56 MET