gpt4 book ai didi

r - 在 R 中,如何将 data.tree 图保存到文件中?

转载 作者:行者123 更新时间:2023-12-02 02:58:24 25 4
gpt4 key购买 nike

我无法保存由 data.tree 中的 plot.Node 函数生成的绘图。我尝试过以下方法:

### Create tree object and plot it
data(acme);
plot(acme);

效果很好,正如人们所期望的那样,显示了情节。

### Try saving it as png
png(filename='file.png', type='cairo-png');
plot(acme);
dev.off();

这会创建一个空文件。 ggsave 的作用相同。显然,plot.Node 在底层使用了DiagrammeR,所以我研究了那个包。它具有导出图表的功能:

export_graph(acme, file_name="file.png");

这给出了错误:

Error in file.exists(diagram) : invalid 'file' argument

当我首先转换为 GraphViz 时,我收到一个不同的错误:

export_graph(ToGraphViz(acme), file_name="file.png");

Error in graph$dot_code : $ operator is invalid for atomic vectors

显然,导出到 GraphViz 并不能完全导出到 DiagrammeR 所期望的结果。

我在 RStudio 中,因此理论上可以使用 GUI 保存绘图,但我需要在脚本中使用它。

显然,plot.Node 实际上并没有绘制任何东西 - 相反,它似乎生成 html/js。这是否意味着该结果不能存储为图形?或者是否有一些我完全缺少的导出/转换功能?确实感觉我错过了一些明显的东西 - 我认为将绘制的​​ data.tree 作为图像存储的需要是很常见的。但我不知道我仍然可以探索哪些潜在的解决方案。

如果有人提出任何建议,我将非常感激!

最佳答案

正如 sebastian-c 所建议的,从 R 3.3.3 开始,使用 data.tree 0.7.0 和 DiagrammeR 0.9.0,事情的工作方式与 Matherion 的建议略有不同

先决条件:需要安装 DiagrmmeRsvg 和依赖项。根据您的操作系统,要使其正常工作,您可能必须安装 V8。以 ubuntu 为例:

apt-get install libv8-3.14-delibv8-3.14-dev

然后在 R 中:

install.packages("DiagrammeRsvg")

在 Windows 上,我不需要安装任何东西(也许是因为安装了 Chrome?)。

一旦DiagrammeRsvg可用,运行:

library(data.tree)
data(acme)
library(DiagrammeR)
export_graph(ToDiagrammeRGraph(acme), "export.pdf")

关于r - 在 R 中,如何将 data.tree 图保存到文件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42108105/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com