Aesthetics of Tick Marks and Axis Titles


ROOT Version: 5.34/18
Platform: Not Provided
Compiler: Not Provided


How can you change the direction of the tick marks on a plot without changing the placement of the numbering and the title of the axis? For example, in this section of my code with everything else being previously defined:

for (unsigned int i = 0; i < Nhistos; i++) {

  fexpmentname[i] = new TFile(Form("total/nuifo_%s.root",expmentname[i].c_str()), "read");
  hnumu[i] = (TH1D*)fexpmentname[i]->Get("flux/hflux_numu");
  hnumu[i]->SetStats(0);
  hnumu[i]->SetLineColor(color[i]);
  leg->AddEntry(hnumu[i], Form("%s", lexpmentname[i].c_str()), "l");

  if (i == 0) {

    hnumu[i]->GetXaxis()->SetTitle("Neutrino energy (GeV)");
    hnumu[i]->GetYaxis()->SetTitle("#nu_{#mu} neutrino flux (#nu_{#mu} / m^{2} / GeV / 2.5 x 10^{8} POT)");
    hnumu[i]->GetYaxis()->SetTickLength(0);
    hnumu[i]->GetXaxis()->SetTicks("-");
    hnumu[i]->GetXaxis()->SetTickLength(0.015);
    hnumu[i]->SetTitle("#nu_{#mu} Fluxes at Various Experiments");
    hnumu[i]->Draw();

  }

  else{

    hnumu[i]-> Draw("same");

  }

}

The plot drawn does have the tick marks at the x-axis pointed towards the negative direction, which is what I want, but the numbering of the x-axis and the title of the x-axis then are also inverted are are placed above the x-axis and inside the plot, which is not what I want. How do I make sure that the tick marks point towards the negative direction and that the numbering of the x-axis and its title also stay below the x-axis?

simply set a negative tick length

hnumu[i]->GetXaxis()->SetTickLength(-0.015);