Мне не удалось сохранить график, сгенерированный функцией plot.Node
в data.tree
. Я пробовал следующее:В R, как мне сохранить файл data.tree в файл?
### 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
Очевидно, что экспорт to GraphViz не совсем экспортирует в то, что ожидает DiagrammeR.
Я нахожусь в RStudio и теоретически могу просто сохранить сюжет с использованием графического интерфейса, но мне нужно это для скрипта.
По-видимому, plot.Node
фактически не участок ничего - вместо этого он генерирует html/js. Означает ли это, что этот результат нельзя сохранить как графический? Или есть какая-то функция экспорта/преобразования где-то, что я полностью отсутствует? я чувствую, что мне не хватает чего-то очевидного - я предполагаю, что нужно хранить застроенные изображения data.tree
, так как изображения довольно распространены. Но я понятия не имею, какие потенциальные решения я могу изучить.
Я был бы очень признателен за любые указатели, у кого есть!
Где делает 'функция ToGraphViz' взялась? –
Это, похоже, не работает с более новыми версиями пакета. Я использовал 'treeAsSVG <- export_svg (render_graph (ToDiagrammeRGraph (acme))) вместо этого. –