使用tcltk2库在R中创建GUI窗口后,当我恢复使用一个依赖于tcltk(没有2)的包生成的窗口时,我在Windows 7上收到此错误消息:
col2rgb(col)出错:无效的颜色名称'SystemButtonFace'
必须是tcltk2更改了在R中使用GUI的一些基础选项,因为在加载tcltk2之前没有错误消息。我正在使用以下版本的R:
R版本3.1.0(2014-04-10) - “春季舞蹈”
有没有办法处理这种副作用(即删除它)?
我试图简单地分离tcltk2包(这是tcltk包的补充),但是没有这样做。
我还尝试使用R颜色名称(如“红色”和“蓝色”)替换生成错误消息的GUI窗口中的颜色(而不是像#CCCFFF那样的颜色)。
非常感谢任何帮助。
谢谢,
伊莎贝拉
答案 0 :(得分:1)
这不仅仅是一种烦恼 - 它会阻止R正确显示后续的GUI窗口。
我已经汇总了一些示例R代码。代码使用PBS模型包创建一个R GUI窗口(其中包依赖于tcltk但不依赖于tcltk2,两者都是R包)。这样创建的GUI窗口正确显示在R中。但是,在R中加载tcltk2软件包并尝试再次显示相同的窗口后,我收到错误消息:
col2rgb(col)出错:颜色名称无效' SystemButtonFace'
为了给你一些上下文,到目前为止我为我的项目编写的大多数R GUI窗口依赖于PBS模型并且工作正常。我只需要使用tcltk2为项目创建几个窗口,但由于上面提到的错误消息,这些窗口不能(至少目前)与大多数其他窗口集成。
以下是将重现错误消息的R代码:
## install & require PBSmodelling package
## for creating R GUI windows
install.packages("PBSmodelling")
require(PBSmodelling)
## function to plot a sinusoid (to be called by GUI window)
myPlot <- function() {
getWinVal(scope="L");
x <- seq(0,500)*2*n*pi/500;
plot(x,sin(x),type="l");
}
## create an R GUI window with PBSmodelling
winStr=c( "window title=Simple",
"entry name=n value=5",
"button function=myPlot text=\"Plot sinusoid\"")
## display R GUI window created with PBSmodelling
createWin(winStr,astext=TRUE)
## install & require tcltk2 package
install.packages("tcltk2")
require(tcltk2)
## try to display R GUI window created with PBSmodelling,
## this time after loading the tcltk2 package in R
createWin(winStr,astext=TRUE)
## Error message:
## Error in col2rgb(col) : invalid color name 'SystemButtonFace'
如果您有任何解决此问题的建议,请告诉我们。
非常感谢,
伊莎贝拉