Re: TGaxis top-down?

From: Rene Brun (Rene.Brun@cern.ch)
Date: Mon Apr 03 2000 - 12:11:19 MEST


Hi Ilya,
Here is a macro illustrating how to draw axis in various formats.
Look at the comments at the end.

Rene Brun

{

  gROOT.Reset();

  c1 = new TCanvas("c1","Examples of Gaxis",10,10,700,500);

  c1->Range(-10,-1,10,1);

  TGaxis *axis1 = new TGaxis(-4.5,-0.2,5.5,-0.2,-6,8,510,"");
  axis1->SetName("axis1");
  axis1->Draw();

  TGaxis *axis2 = new TGaxis(-4.5,0.2,5.5,0.2,0.001,10000,510,"G");
  axis2->SetName("axis2");
  axis2->Draw();

  TGaxis *axis3 = new TGaxis(-9,-0.8,-9,0.8,-8,8,50510,"");
  axis3->SetName("axis3");
  axis3->Draw();

  TGaxis *axis4 = new TGaxis(-7,-0.8,-7,0.8,1,10000,50510,"G");
  axis4->SetName("axis4");
  axis4->Draw();

  TGaxis *axis5 = new TGaxis(-4.5,-0.6,5.5,-0.6,1.2,1.32,80506,"-+");
  axis5->SetName("axis5");
  axis5->SetLabelSize(0.03);
  axis5->SetTextFont(72);
  axis5->SetLabelOffset(0.025);

  axis5->Draw();

  TGaxis *axis6 = new TGaxis(-4.5,0.6,5.5,0.6,100,900,50510,"-");
  axis6->SetName("axis6");
  axis6->Draw();

  TGaxis *axis7 = new TGaxis(8,-0.8,8,0.8,0,9000,50510,"+L");
  axis7->SetName("axis7");
  axis7->SetLabelOffset(0.01);
  axis7->Draw();

  //one can make axis going top->bottom. However because of a long
standing
  //problem, the two x values should not be equal
  TGaxis *axis8 = new TGaxis(6.5,0.8,6.499,-0.8,0,90,50510,"-");
  axis8->SetName("axis8");
  axis8->Draw();
}



Ilya Goz wrote:
> 
> Hello,
> 
> I need to make TGaxis with values running top-down, where
> minimum value is on top, i.e.
> 
> 0    |-
> 500  |-
> 1000 |-
> 1500 |-
> 2000 |-
> 2500 |-
> 
> Following macro doesn't work as (perhaps naively) expected:
> 
> {
>     gROOT->Reset();
>     TCanvas *c = new TCanvas("c", "Axis test", 2);
>     c->Range(-500,0,500,1000);
>     TGaxis *goodAxis = new TGaxis(-300, 100, -300, 900, 500, 2500, 512, "", 50);
>     // this doesn't work
>     TGaxis *badAxis = new TGaxis(300, 100, 300, 900, 2500, 500, 512, "", 50);
>     // neither do this
>     TGaxis *badAxis2 = new TGaxis(0, 900, 0, 100, 500, 2500, 512, "", 50);
>     goodAxis->Draw();
>     badAxis->Draw();
>     badAxis2->Draw();
>     c->Update();
> }
> 
> Thank you.
> Ilya V. Goz



This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:22 MET