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::vector
s,并直接使用 TGraphAsymmErrors
构造函数。
我正在尝试从 .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::vector
s,并直接使用 TGraphAsymmErrors
构造函数。