R晶格:如何调整图例标记线宽?

时间:2013-10-21 15:28:44

标签: r width line legend lattice

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

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)

谢谢!
布赖恩

1 个答案:

答案 0 :(得分:5)

在调用lwd时使用xyplot会更改图中线条的宽度,但不会更改图例中的线条宽度;图例使用参数设置,可以使用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)