R Lattice:如何调整图例标记线的宽度?

3

有没有人知道如何通过auto.key调整lattice图中标记线的宽度? 我需要独立于绘图中的线条粗细来调整它,而我需要的是相当细的线。 默认情况下,图例中的线也非常细,这使得很难通过颜色或线条样式区分不同的系列。 在图例中,适度厚实的矩形将是理想的系列标记。

x = seq(1,360*10,1)
y = sin(x*pi/180)
df = data.frame(x=x, y=y, id="x")
p.xy <- xyplot(y~x, groups=id, data=df, type="l", lwd=.1
              ,auto.key=list(lines=T, points=F))
print(p.xy)

谢谢!
Bryan

1个回答

6
在调用 xyplot 中使用 lwd 会改变图中线条的宽度,但不会影响图例;图例使用参数设置,可以使用 par.settings 参数进行更改。通常情况下,这是更改图中线条宽度的首选方法,因为在由 auto.key 绘制的图例中也会随之改变,但在您的情况下,该行为可用于按需更改图例,并然后使用 lwd 覆盖图中的线条。

我喜欢获取默认主题并根据需要更改它,然后将整个内容传递回 par.settings,但实际上,您只需要给 par.settings 您想要从默认设置更改的部分即可。

mtheme <- standard.theme("pdf", color=TRUE)
mtheme$plot.line$lwd <- 5
mtheme$superpose.line$lwd <- 5
p.xy <- xyplot(y~x, groups=id, data=df, type="l", lwd=0.1
              ,auto.key=list(lines=T, points=F), par.settings=mtheme)
print(p.xy)

超叠是个神奇的词。谢谢!有没有参考资料可以确定哪些元素受超叠设置的影响? - Bryan
1
超叠设置用于当你有分组数据时;否则使用绘图设置。panel.superpose 的帮助页面上有你要找的一些信息。 - Aaron left Stack Overflow

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接