在使用tcltk2库在R中创建图形用户界面窗口后,当我恢复使用依赖于tcltk (没有2)的包生成的窗口时,我在Windows7上收到以下错误消息:
col2rgb(col)中出错:颜色名称'SystemButtonFace‘无效
这一定是因为tcltk2在R中更改了一些使用tcltk2的底层选项,因为在加载GUI之前没有出现错误消息。我正在使用以下版本的R:
R版本3.1.0 (2014-04-10) --“春舞”
有没有办法处理这种副作用(即,消除它)?
我试图简单地分离tcltk2包(它是对tcltk包的补充),但这并不成功。
我还尝试将生成错误消息的GUI窗口中的颜色替换为R颜色名称,如"red“和"blue”(而不是#CCCFFF等颜色)。
任何帮助都将不胜感激。
谢谢,
伊莎贝拉
发布于 2015-01-01 02:17:06
这不仅仅是一种烦恼-它阻止R正确地显示后续的GUI窗口。
我已经整理了一些R代码的例子。代码使用PBSmodelling包创建一个R窗口(其中包依赖于tcltk,但不依赖于tcltk2,这两个包都是R包)。这样创建的图形用户界面窗口可以在R中正确显示。但是,在R中加载tcltk2包并再次尝试显示相同的窗口后,我收到错误消息:
col2rgb(col)中出错:颜色名称'SystemButtonFace‘无效
为了给你一些背景知识,到目前为止,我为我的项目编写的大多数R窗口都依赖于PBSmodelling,并且工作得很好。我只需要使用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'如果你有任何解决这个问题的想法,请让我知道。
非常感谢,
伊莎贝拉
https://stackoverflow.com/questions/27716175
复制相似问题