我搜索了这个网站和其他人,似乎无法在我的代码中找到问题。我正在尝试更改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"))
答案 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=
参数来更改密钥中文本标签的颜色。