1. R官方编译器
通常直接在R语言的官方界面运行命令行或者脚本程序,一般不会存在运行后不出图的问题。
如果没有出图,一般情况下可能的原因是:
- 可能是你的代码写错了
- 可能你的packages需要更高版本的R语言本体
- 可能是你的packages版本未正常安装或者正常导入,执行代码
install.packages('Your packages')# 在 R concole里面执行
在你的.R
脚本文件中导入包:
library('your packages')
- 可能你的pycharm当前的R插件不能和R本体正常使用,建议回退到较低版本的R本体
- 某些包需要使用
print
函数来输出图像,例如ggplot\ggplot2
- 可能是你的脚本代码中有中文路径,这有时候会出现问题(猜测)
- ……mabe还有很多,建议直接用官方编译器,别整些花里胡哨的。
2. R和pycharm
pycharm在运行R语言时,需要单独再装一个R语言插件——R Language for intellij
。这是目前最新版本的插件。
安装完成后,打开代码运行即可。当运行后不显示图片,可以依次按照以下步骤解决:
2.1 尝试运行示例代码
一般运行不成功,可能是代码有问题,可以运行pycharm官方示例代码来验证:
mycars <- within(mtcars,{
vs <- factor(vs, labels = c('V', 'S'))
am <- factor(am, labels = c('automatic', 'manual'))
cyl <- ordered(cyl)
gear <- ordered(gear)
carb <- ordered(carb)
})
gears <- table(mycars$gear)
barplot(gears, main='Title: Car gear distribution',xlab = 'Number of Gears', col = '#05ae99')
am <- table(mycars&am)
print(am)
该示例不需要额外的package,直接运行即可。正常运行后结果如图:
运行自己的代码时,需要注意相应的包是否安装到位。R的很多功能都需要额外的扩展包来支持,注意安装的包是否和当前R的版本匹配。有时候包和R的版本号不匹配也是造成不出图的原因之一。
2.2 尝试打开新的dev
Dev函数,在R语言函数简介简介中全称为Device,直译为设备。但是实际上应该是指图窗-figure
有时候,我们在R语言脚本中会添加Dev.new()
函数来生成新的图窗,也就是画板。这是为了不覆盖上一个图窗。如图所示:
注意第二个脚本中dev.new()
的使用,这是为了创建新的图窗。
这个图窗跟MATLAB和Python里面的figure类似,也就是画布或者画板。
一般来说,R语言默认会提供序号1-63
共63个图窗,如果一直不关闭旧的图窗,当累积到63号图窗后,就不能打开新的图窗来画图。此时就需要关闭旧的图窗,或者使用以下代码,关闭当前正在激活(正在使用,英文字样为 R Graphics: Device X(active)
)的图窗,从而创建新的图窗来作图。
实际可用图窗序号为2-63
- 如果运行代码后不显示,尝试在代码脚本开头添加以下代码
dev.off()
dev.new()
- 如果上述办法不行,重启RSTUDIO
上述办法同样适用于pycharm软件中,pycharm中重启R环境的按钮在R console
左边,绿色箭头。
2.3 尝试安装较低版本的R语言
目前R最新版本为4.1.2
,但是新版本与pycharm之间不兼容。如果直接使用pycharm作图,可能并不会显示图片。这是因为最新版本的R隐藏了某些内部的实现细节,而最新的pycharm-R插件可能并未支持当前版本的R本体,因此,需要将R版本回退到较低版本。
2022.3.14——经检测,
R-3.6.3
版本可以和pycharm正常配合使用。