【问题标题】:Change symbol colors in barchart legend更改条形图图例中的符号颜色
【发布时间】:2014-05-05 21:33:18
【问题描述】:

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

对于图例,我使用的是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"))

【问题讨论】:

    标签: r bar-chart lattice


    【解决方案1】:

    谢谢!我找到了一个更简单的解决方案——在我的原始代码中,“superpose.symbol”应该是“superpose.polygon”。一旦我改变了它,情节和图例就会正确显示。

    【讨论】:

      【解决方案2】:

      代替你的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= 参数来更改键中文本标签的颜色。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-08-03
        • 2012-01-19
        • 1970-01-01
        • 1970-01-01
        • 2021-09-17
        • 1970-01-01
        • 2018-04-02
        • 2012-10-18
        相关资源
        最近更新 更多