我在远程 linux 服务器上安装了 ReporteRs 包,并尝试用它生成 HTML 页面。它工作正常,但是在尝试向文档添加 ggplot 时会出现此错误:
(.:18048): Gtk-WARNING **: cannot open display:
对于这里提到的这类问题,我使用了解决方案,(在运行 R 之前运行“export DISPLAY=:0.0”),但仍然出现错误。现在它说:
(.:19674): Gtk-WARNING **: cannot open display: :0.0
现在我想知道是否有一种方法可以改变 addPlot() 函数,使其不想显示任何内容,而只想将其放入文档中?
我像这样使用 addplot() 函数:
data <- structure(list(x = c("1", "2", "3", "4", "5", "6", "7", "8",
"9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19",
"20"), y = c(142, 316, 223, 319, 61, 155, 400, 384, 183, 342,
308, 167, 20, 506, 310, 164, 66, 221, 368, 345)), .Names = c("x",
"y"), row.names = c(NA, 20L), class = "data.frame")
library(ReporteRs)
library(ggplot2)
mydoc = bsdoc( title = 'My page' )
graph <- qplot(data$x,data$y, data)
mydoc = addPlot( mydoc, fun = print, x =graph,vector.graphic = TRUE, width = 12,par.properties = parLeft(padding = 5))
writeDoc( mydoc, file = "/mypage.html" )
这个问题有解决方案或解决方法吗?提前谢谢了!
编辑有一个解决方法。首先,我使用 ggsave() 将绘图保存为图像。其次,我使用 ReporteRs 包的 addImage() 将此图像添加到文档中。这是相当丑陋的,因为它需要更多的时间来处理。
EDIT2我做了更多调查。它与X11设备有关。现在我想知道如何在不需要显示的情况下使用 X11。这可以用 R 代码实现吗?