use*_*592 6 graphics command-line r ggplot2
从命令行执行 R 脚本时如何显示带有 ggplot 图形的窗口(无需中间保存到文件)?
示例脚本test.R
#!/usr/bin/env Rscript
library(ggplot2)
p = ggplot(aes(x = Sepal.Length), data = iris) + geom_histogram(color = 'black', fill = NA)
plot(p)
Run Code Online (Sandbox Code Playgroud)
在命令行上使用 运行脚本./test.R。这会将绘图转储到 Rplots.pdf - 相反,我想要一个窗口,就像在与绘图的交互式会话中一样,没有文件输出。
如何指定输出设备为屏幕?(例如在 Ubuntu 上)
您可以通过调用 来完成此操作X11(),这将打开一个图形窗口。一些相关摘录help("X11"):
\n\n\n在类 Unix 上 \xe2\x80\x98X11\xe2\x80\x99 启动 X\n Window 系统(版本 11)的图形设备驱动程序。这只能在有权访问 X 服务器的计算机/帐户上完成。
\n\n用法:
\n\nX11(显示 = "", 宽度, 高度, 点数, gamma, bg, 画布,\n 字体, 系列, xpos, ypos, 标题, 类型, 抗锯齿)
\n\n论据:
\n\n显示器:将出现图形窗口的显示器。默认值是使用用户环境变量\xe2\x80\x98DISPLAY\xe2\x80\x99 中的值。如果 X11 设备已在另一个显示器上打开,则此操作将被忽略(并带有警告)。
\n
但是,R 脚本执行完毕后它将立即关闭。因此,这可以显示您的绘图,但它不会打开很长时间:
\n\n#!/usr/bin/env Rscript\n\nlibrary(ggplot2)\np = ggplot(aes(x = Sepal.Length), data = iris) +\n geom_histogram(color = \'black\', fill = NA)\nX11()\nplot(p)\nRun Code Online (Sandbox Code Playgroud)\n\n我想真正的问题是
\n\n