Я следовал решениям это для экспорта файла png из plot_ly в R.
Они работают на машине Windows:
DF = structure(list(Sector = c("0-N", "1-NNE", "2-ENE", "3-E", "4-ESE",
"5-SSE", "6-S", "7-SSW", "8-WSW", "9-W", "10-WNW", "11-NNW"),
A_parameter = c(4.84, 5.04, 5.05, 4.7, 4.41, 4.66, 5.76,
7.44, 6.92, 4.87, 4.39, 4.13), k_Parameter = c(2.24, 2.271,
2.115, 1.959, 1.779, 1.943, 2.01, 2.393, 2.326, 1.971, 1.908,
1.904), frequency = c(0.057, 0.08, 0.086, 0.071, 0.05, 0.041,
0.071, 0.178, 0.182, 0.089, 0.051, 0.045), mean_WS = c(4.287,
4.464, 4.473, 4.167, 3.924, 4.132, 5.104, 6.595, 6.131, 4.317,
3.895, 3.665)), .Names = c("Sector", "A_parameter", "k_Parameter",
"frequency", "mean_WS"), row.names = c("3", "4", "5", "6", "7",
"8", "9", "10", "11", "12", "13", "14"), class = "data.frame")
p <- plot_ly(DF, r = ~(DF$frequency*DF$mean_WS), t = ~DF$Sector) %>% add_area()
export(p, file = "C:/Users/philip/Desktop/dashboard/www/L1.png")
или используя:
t=layout(p, radialaxis = list(ticksuffix = "%"), orientation = 270)
saveWidget(plotly::as_widget(t), "C:/Users/philip/Desktop/dashboard/www/temp.html")
webshot("C:/Users/philip/Desktop/dashboard/www/temp.html",
file = "C:/Users/philip/Desktop/dashboard/www/L1.png",
cliprect = "viewport")
Но когда я пробую то же самое в Linux, это не работает:
p <- plot_ly(DF, r = ~(DF$frequency*DF$mean_WS), t = ~DF$Sector) %>% add_area()
export(p, file = "/srv/shiny-server/S3/PCE/www/L1.png")
Ошибка не возвращается, но файл png пуст. Те же результаты, когда я пытаюсь:
t=layout(p, radialaxis = list(ticksuffix = "%"), orientation = 270)
saveWidget(plotly::as_widget(t), "/srv/shiny-server/S3/PCE/www/temp.html")
webshot("/srv/shiny-server/S3/PCE/www/temp.html",
file = "/srv/shiny-server/S3/PCE/www/L1.png",
cliprect = "viewport")
Я что-то упускаю?
Вы пробовали открыть файл напрямую или только в приложении Shiny? Если последнее, вы установили права доступа к файлам на L1.png?
@BrianStamper Я пробовал оба! В блестящем режиме он возвращает ошибку, и когда я запускаю его, как вы видите здесь, L1.png - это просто пустая белая страница.
Какую ошибку вы получаете в Shiny?
@BrianStamper, блестящий, я пытаюсь изменить размер изображения с помощью: p=image_resize(image_trim(image_read("/srv/shiny-server/S3/PCE/www/L1.png")),"800x") , и поскольку L1.png пуст, я получаю эту ошибку: Error in magick_image_trim(image, fuzz) : Magick: geometry does not contain image / srv / shiny-server / S3 / PCE / www / L1.png '@ warning / attribute .c / GetImageBoundingBox / 247 `
Ошибка указывает на то, что вы создаете пустое изображение. Что касается того, почему я не знаю, извините. На ум приходит пара мыслей - зачем создавать статические изображения с помощью plotly, если вы можете графически динамически отображать их в приложении? И зачем изменять размер изображения, если это можно сделать с помощью CSS? Но эти вопросы здесь не рассматриваются.
@BrianStamper Мне нужно поместить это изображение в отчет! вот почему мне нужен статический.





@hrbrmstr у вас есть идея?