向R添加自定义颜色:颜色配置文件在哪里?

时间:2012-11-09 16:35:41

标签: r colors

我有一些颜色(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

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

直接回答您的项目符号问题:R的颜色数据库存储在"colors.c" source file中。

因为colors()等访问该数据库的编译版本,所以无法在不编辑源代码的情况下添加到命名颜色,然后重新编译R.

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

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},