是否有任何命令可以从命令行/终端生成多个图形。我有一个 .root
文件,其中包含已处理的图形对象,因此我可以使用命令一次绘制一个图形
pAngRateAlld_S0_M0->Draw("Hist");
当使用 root -l maplot_20070101_4m.root
打开文件时
最佳答案
打开文件后:
root -l filename.root
您可以使用以下方法绘制 TGraph:
myGraph->Draw("apl");
或使用其他选项,例如:
myGraph->Draw("Hist");
重要的是要意识到这会创建一个默认 Canvas 。如果您尝试绘制另一个图形,它将在同一 Canvas 中绘制它,即它将替换最后一个图形。
要有多个图表,有几个选项:
1) 每个 Canvas 一个图:您需要在绘制之前为每个图创建一个 Canvas :
TCanvas *c1=new TCanvas();
myGraph1->Draw("apl");
TCanvas *c2=new TCanvas();
myGraph2->Draw("apl");
etc.
2) 同一图中的多个图:
myGraph1->Draw("apl");
myGraph2->Draw("pl same");
myGraph3->Draw("pl same");
3) 分割 Canvas :
TCanvas *c1=new TCanvas();
c1->Divide(3,3); // divides the canvas into three rows and three columns
c1->cd(1);
myGraph1->Draw("apl");
c1->cd(2);
myGraph2->Draw("apl");
关于c++ - 在 ROOT 中绘制多个 TGraphs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37075804/