首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何改变点阵图形默认组的颜色?

如何改变点阵图形默认组的颜色?
EN

Stack Overflow用户
提问于 2012-10-19 13:18:04
回答 1查看 3.1K关注 0票数 0

使用groups时,晶格为每个组提供不同的颜色。示例:

代码语言:javascript
复制
df <- data.frame(x=1:56, y=rnorm(56), class=1:14) # create some data
xyplot(y ~ x, groups=class, data=df, type="l", auto.key=list(space="right"))

但是,默认情况下,晶格只使用七种颜色,运行上面的示例将会显示。如果有七个以上的组,晶格将再次按顺序循环显示颜色,从而使来自不同组的数据具有相同的颜色。我从另一篇Stackoverflow文章中了解到,这些颜色存储在trellis.par.get()$superpose.symbol$col中。我想使组颜色列表更长(而不必在绘图调用中显式指定颜色)。然而,我想不出如何改变这个颜色列表。(这可能是因为对有关网格语法或语义的一些基本事实一无所知。)这说明了问题:

代码语言:javascript
复制
> trellis.par.get()$superpose.symbol$col
[1] "#0080ff"   "#ff00ff"   "darkgreen" "#ff0000"   "orange"    "#00ff00"   "brown"    
> class(trellis.par.get()$superpose.symbol$col)
[1] "character"
> mycolors <- c(trellis.par.get()$superpose.symbol$col, "navyblue", "purple", "gold")
> trellis.par.get()$superpose.symbol$col[1:10] <- mycolors
Error in trellis.par.get()$superpose.symbol$col[1:10] <- mycolors : 
  invalid (NULL) left side of assignment

我不明白这个错误消息告诉我的是什么。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-19 13:25:58

您应该使用trellis.par.set()来设置网格图形参数。所以:

代码语言:javascript
复制
trellis.par.set(superpose.symbol = list(col = mycolors))

请记住,这只会更改当前活动设备的设置,因此,如果您创建新的图形设备,则必须重置颜色设置。

此外,在详细信息部分的帮助页面?trellis.par.get中对此进行了解释。请看一下那里。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12967798

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档