Hi Daniel, On Wed, 23 Oct 2002, Daniel Cussol wrote: > Hello Rooters, > I am facing the following problem: when I want to set a default Draw > Option by using the SetDrawOption method, it seems that this a no effect > when the object is plotted. > > root [37] TH2F *h2=new TH2F("hh","Test",20,0,10,20,0,10) > root [38] h2->SetDrawOption("box") > root [39] h2->Fill(1,2,1) > root [40] h2->Fill(2,2,3) > root [41] h2->Fill(8,6,15) > root [42] h2->Draw() > SetDrawOption (See TObject::setDrawOption doc) applies only to an already drawn object. This function is typicalled called from the object context menu to set a different option. In your case, the h2->Draw() call will erase the current canvas and draw the object h2 with the default options. If you do: h2->Draw(); h2->SetDrawOption("box"); gPad->Update(); //the change will become effective > > The h2 histogram is plotted with the scatter plot ("HIST") option. > If I now add objects to the list of function of this object, the draw > options are also "lost" when plotting the histogram. Here is another > example. > > root [24] TArrow *ar=new TArrow(5.,0.,5.,5.) > root [25] ar->SetArrowSize(0.05) > root [26] ar->SetFillColor(kRed) > root [26] ar->SetDrawOption("|>") > root [27] h2->GetListOfFunctions()->Add(ar) > root [28] h2->Draw() > > The arrow is plotted as a straight line without any arrow, as if the "" > Draw option was set. When looking at the DrawOption of the objects (using > GetDrawOption() ), it seems that the SetDrawOption(Option_t *) has no > effect! You should do instead: TArrow *ar=new TArrow(5.,0.,5.,5.) ar->SetArrowSize(0.05) ar->SetFillColor(kRed) h2->GetListOfFunctions()->Add(ar,"|>"); h2->Draw() This form has the advantage that you can draw the same object with different options in different pads of the same canvas. The form of Add with a second argument was introduced only in 3.03/09. I strongly suggest you move to this version. Salutations Rene Brun > > Is it a standard behaviour? Could it be possible to store the wanted draw > option and use it while drawing the object, as it was the case for "old" > root versions? > > I use root v3.02/04 alphacxx6 on Alpha UNIX DS20. > > Daniel CUSSOL > > LPC Caen > Boulevard du Marechal Juin > 14050 CAEN CEDEX > > e-mail : cussol@in2p3.fr > Tel : +33-(0)2-31-45-29-73 > FAX : +33-(0)2-31-45-25-49 >
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:51:15 MET