1

我有几种颜色(rgb/hex 代码),我希望它们可以作为默认值使用。我希望颜色在启动时可用,而无需运行任何脚本。换句话说,我想运行命令 colors() 并让我的自定义颜色显示在列表中。

我怀疑这个列表是从 R 树中的某个文件或其他地方的其他配置文件中填充的。具体来说:

  • R 从哪个文件中提取颜色定义?

相关数据:

> version
               _                            
platform       x86_64-apple-darwin9.8.0     
arch           x86_64                       
os             darwin9.8.0                  
system         x86_64, darwin9.8.0          
status                                      
major          2                            
minor          15.1                         
year           2012                         
month          06                           
day            22                           
svn rev        59600                        
language       R                            
version.string R version 2.15.1 (2012-06-22)
nickname       Roasted Marshmallows
4

2 回答 2

3

您可以(如果您真的想要)将默认调色板更改为您自己的颜色。例如,

(palette(c("yellow", "orange")))
plot(1:10, col=1:10)

除了提供命名颜色,您还可以使用该rgb函数指定 rgb 颜色。您可以将此命令添加到您的.Rprofile,以便在启动时可用。

但是,更好的主意是定义自己的调色板:

#Put this in your .Rprofile
mycols = adjustcolor(palette(), alpha.f = 0.3)
palette(mycols)

这样你就不会覆盖默认值。参见?palette其他示例。

于 2012-11-09T16:49:53.463 回答
0

直接回答您的项目符号问题:R 的颜色数据库存储在“colors.c”源文件中。

因为colors()etc. 访问该数据库的编译版本,所以如果不编辑源代码然后重新编译 R,就无法添加到命名颜色。

以下是定义 ColorDataBase 的前几行$R_SOURCE_HOME/src/main/colors.c

static ColorDataBaseEntry ColorDataBase[] = {
    /* name rgb code -- filled in by InitColors() */
    {"white",   "#FFFFFF",  0},
    {"aliceblue",   "#F0F8FF",  0},
    {"antiquewhite",    "#FAEBD7",  0},
    {"antiquewhite1",   "#FFEFDB",  0},
    {"antiquewhite2",   "#EEDFCC",  0},
于 2012-11-09T17:28:41.640 回答