Как преобразовать простое изображение R-графика в кодировку base64 без предварительного чтения / записи файла изображения на диск? - PullRequest
0 голосов
/ 13 февраля 2019

Как я могу преобразовать графическое изображение в кодировку base64 без предварительной записи его на диск (т. Е. Непосредственно из среды R)?

Примечание Это показывает, как это сделать из файла изображения.Я не могу использовать файлы, так как я запускаю это в среде только с интерпретатором R (т. Е. Только с кратковременным хранением)

Я пытался использовать base64Encode() примерно так

library(ggplot2)
library(dplyr)
df <- data.frame(
  gp = factor(rep(letters[1:3], each = 10)),
  y = rnorm(30)
)
ds <- plyr::ddply(df, "gp", plyr::summarise, mean = mean(y), sd = sd(y))

a <- ggplot(df, aes(gp, y)) +
  geom_point() +
  geom_point(data = ds, aes(y = mean), colour = 'red', size = 3) 

library(RCurl)
a %>% base64Encode(.)

Ноэто просто преобразует базовые данные графика (а не само изображение) в base64.

Как преобразовать изображение из среды R в base64?

1 Ответ

0 голосов
/ 13 февраля 2019

похоже, работает с объектами определенного типа.Класс объекта, когда вы использовали ggplot(), отличается от того, когда вы использовали plot().

class(a)
# [1] "gg"     "ggplot"
class(my_plot)
# [1] "NULL"

Почему бы не использовать ggplot() все время?

my_ggplot <- ggplot(mapping = aes(x = 1:6, y = c(1,3,6,2,7,5))) + geom_point()

my_ggplot %>% base64Encode(.)
# [1] "bGlzdCgp"
# attr(,"class")
# [1] "base64"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...