ROOT(CERN):使用来自 csv 文件的数据绘制带有误差条的图形

ROOT(CERN): Plot an figure with error bars using data from an csv file

我正在尝试从 .csv 文件中读取数据,该文件包含 4 列:“x”、“y”、“标准偏差”和“不确定性”。我想绘制一个带有误差条的散点图,它代表 .csv 文件中的不确定性红色。我在 root 的 REPL 中 运行 以下代码:

auto rdf = ROOT::RDF::MakeCsvDataFrame("./file.csv")
auto g1 = rdf.GraphAsymmErrors("x","y","","","Uncertainty","Uncertainty");

但我得到一个错误:

ROOT_prompt_1:1:15: error: no member named 'GraphAsymmErrors' in 'ROOT::RDataFrame'

同时我可以 运行 下面的代码正确:

auto g2=rdf.Graph("x","y");
g2->SetMarkerStyle(6);
g2->Draw();

,这让我感到困惑,因为在the document of ROOT中,Graph()方法和GraphAsymmErrors()方法似乎都是RDataFrame的方法,所以我认为应该不会显示上面的错误。

另外,我的root版本是6.26,通过snap安装在Ubuntu 22.04上。

GraphAsymmErrors似乎不​​存在于v6.26 documentation中。您链接的文档是针对 master 分支的。您可能必须更新到 nightly-build 或等待下一个版本才能使用该功能。

同时,我建议您在各自的分支上使用 RDataFrame::Take() 将它们作为 std::vectors,并直接使用 TGraphAsymmErrors 构造函数。