【问题标题】:drawing multiple TGraphs in ROOT在 ROOT 中绘制多个 TGraph
【发布时间】:2016-09-01 17:30:08
【问题描述】:

是否有任何命令可以从命令行/终端生成多个图形。我有一个 .root 文件,其中包含已处理的图形对象,因此我可以使用命令一次绘制一个图形

pAngRateAlld_S0_M0->Draw("Hist");

当使用root -l maplot_20070101_4m.root打开文件时

【问题讨论】:

    标签: c++ plot frameworks root-framework


    【解决方案1】:

    打开文件后:

    root -l filename.root
    

    您可以使用以下方法绘制 TGraph:

    myGraph->Draw("apl");
    

    或使用其他选项,例如:

    myGraph->Draw("Hist");
    

    重要的是要意识到这会创建一个默认画布。如果您尝试绘制另一个图形,它将在同一个画布中绘制它,即它将替换最后一个。

    有多个图表有几个选项:

    1) 每个画布一个图:您需要在绘制之前为每个图创建一个画布:

    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) 分割画布:

    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");
    

    【讨论】:

      猜你喜欢
      • 2012-07-04
      • 2015-11-13
      • 2018-05-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-08
      相关资源
      最近更新 更多