如何使刻度线指向图中的负方向,而不更改轴的编号和标题的位置
How to make tick marks point towards the negative direction in a plot without changing the placement of the numbering and title of an axis
我正在使用ROOT制作直方图,并尝试编辑其美学。如何使绘图上的刻度线指向负方向,同时使绘图的编号和标题也低于 x 轴?
通过此链接,SetTicks("-")可用于反转刻度线,使它们指向负方向。当我在代码中将其用于 x 轴时,绘图按预期运行,刻度线指向负方向,但是,x 轴的编号和标题也与刻度线一起反转,两者都显示在图的上方和内部。这让我感到困惑,因为我认为SetTicks()应该只更改刻度线的方向,而不是标题。我还更改了GetXaxis->SetTitle()的位置,以查看定位在代码中是否重要,但似乎并不重要。 (注意:代码中的所有内容都已预定义。
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");
}
}
同样,我希望输出是这样的,x 轴的刻度线、编号和标题低于 x 轴,但只有刻度线是。我目前对此没有解释。
经过一堆实验,我找到了自己问题的答案。您所要做的就是简单地设置一个负即时报价长度并摆脱SetTicks("-"):
hnumu[i]->GetXaxis()->SetTickLength(-0.015);
相关文章:
- 将值指定给向量(2D)的向量中的某个位置
- 使用Unreal C++获取VR耳机的世界位置/方向
- 写入位置0x0000000C时发生访问冲突
- 如何将两个不同矢量的同一位置的两个元素组合在一起
- 为什么在Windows上的VS 2019和Clang 9中"size_t"在没有标题的情况下工作
- GL_SHADERSTORAGE_BUFFER位置是否与其他着色器位置冲突
- 如何使用cudaMallocManaged在指针位置初始化对象?(C++)
- 无法获取webot::PositionSensor对象中位置传感器的值
- 非常量变量只读位置的赋值
- 如何定义更改car类中car位置的方法
- 使用迭代器时如何访问对象在向量中的位置?
- 更改.cpp程序的输入文件中数据的位置会意外更改输出
- 求最大元素位置的分治算法
- 你好。。。id_public变量不应该给出结果为 81 和 86 吗?为什么它为两个派生类占用不同的内存位置?
- 对于C++,方括号中的标题必须总是在引号中的标题之上吗
- 为什么我的点没有在 OpenGL 中绘制鼠标所在的位置?
- 如何将元素添加到向量的字符串位置
- 如何使刻度线指向图中的负方向,而不更改轴的编号和标题的位置
- 将函数放在标题与C 源文件中的位置
- 在代码中的同一位置最有效地填充静态标题列表和动态值列表