更改条形图图例中的符号颜色

时间:2014-05-05 21:33:19

标签: r bar-chart lattice

我搜索了这个网站和其他人,似乎无法在我的代码中找到问题。我正在尝试更改barchart图例中的符号颜色,以对应我在制作图表时指定的颜色(使用网格包)。

对于图例,我使用的是auto.key函数。这些条形对应于几种治疗的鸟类数量。我首先必须通过每次治疗来汇总每个物种的鸟类数量。我没有使用此代码获得任何错误消息,但图例中的符号颜色是默认颜色,而不是我指定用于与5种鸟类协调的5种颜色。这是我的代码:

birds.trmt <- aggregate(cbind(BRSP, GTTO, HOLA, VESP, WEME)~treatment, 
    data=EM.bird.plots, FUN=sum)

library(lattice)

barchart(BRSP+GTTO+HOLA+VESP+WEME~treatment, 
     data=birds.trmt, 
     par.settings=list(
       superpose.symbol=list(col=c("brown", "green", "yellow","red", "blue"),
       fill=c("brown", "green", "yellow","red", "blue"))),
      col=c("brown", "green", "yellow", "red", "blue"),
      main="Bird Counts by Treatment", 
      xlab="treatment",
      ylab="songbird count", 
      cex.main=2, 
      cex.lab=1.2, 
      auto.key=list(space="right"))

2 个答案:

答案 0 :(得分:1)

谢谢!我发现了一个更简单的解决方案 - 在我的原始代码中,&#34; superpose.symbol&#34;应该是&#34; superpose.polygon&#34;。一旦我改变了它,情节和图例就会正确显示。

答案 1 :(得分:0)

代替您的auto.key试试这个:

key= list(space="right", 
  text=list(c("label 1", "label 2", "label 3", "lablel 4", "label 5"),
  points=list(col=c("brown", "green", "yellow","red", "blue")
)

barchart()功能作为此部分。我不知道您希望密钥的显示方式 - 您可以使用pch=列表中的points来更改绘制的点类型。您还可以使用rectangles = list( col=...代替我使用的points列表,使密钥具有矩形而不是点。您也可以通过添加col=参数来更改密钥中文本标签的颜色。

相关问题