假设我有两个源文件,第一个命名example1.r,第二个example2.r(下面给出).
example1.r
plot(1:10,1:10)
Run Code Online (Sandbox Code Playgroud)
example2.r
qplot(1:10,1:10)
Run Code Online (Sandbox Code Playgroud)
当我获取example1.r时,绘制图形.但是,当我获取example2.r时,它不会.这里有什么解决方案?
cbe*_*ica 77
更新:
source选项print.eval=TRUE将导致评估结果的打印行为,如交互式命令行中所示.
source("Script.R", print.eval=TRUE)
knitr默认情况下模拟交互式命令行wrt的行为.printING.注意,knitr对于R包装晕影,也可以指定为Sweaving引擎.这是着名的FAQ 7.22:为什么格子/格子图形不起作用?.
对于像ggplot2或网格这样的网格图形,您需要打印图形对象才能实际绘制它.
在命令行上以交互方式自动完成.在其他地方(要获取的文件,循环,函数,Sweave块)中,您需要显式打印它.
print (qplot (1 : 10, 1 : 10))
Run Code Online (Sandbox Code Playgroud)
或者,您可以重新定义qplot以进行打印:
qplot <- function (x, y = NULL, z = NULL, ...) {
p <- ggplot2::qplot (x = x, y = y, z = z, ...)
print (p)
}
Run Code Online (Sandbox Code Playgroud)
(这会将轴标签更改为x和y).
我在小插图中使用这种方法,我想完全编写代码,因为交互式会话中的用户会键入它.