我使用 Lattice 包中的轮廓图函数生成了一个填充轮廓图。我希望能够强调由该函数产生的轮廓线之一,例如通过更改 lwd=2,并不强调产生的其他轮廓线,例如通过将剩余的轮廓线颜色设置为灰色。
例如,我想相当于添加
contourplot(
Male ~ Year * Age,
data=this.ds, region=F, labels=F, lwd=2, at=c(0, 0.01, 1))
到
contourplot(
Male ~ Year * Age,
data=this.ds,
region=T, col.regions=rev(heat.colors(200)),
cuts=50, main="", sep="")
我认识到答案可能涉及函数更新、面板和/或层(如果使用 latticeExtra),但我对 lattice 对象的底层逻辑/结构的理解不足以弄清楚该怎么做。
编辑
谢谢你的帮助。我基本上使用了第一个答案,但进行了以下轻微修改,以便能够指出轮廓线上的几个特征:
require(lattice)
require(latticeExtra)
Part1 <- contourplot(Female ~ Year * Age,
data=this.ds,
region=T,
col.regions=rev(heat.colors(200)),
cuts=50,
main="",
labels=F,
col="grey",
sep="")
Part2 <- contourplot(Female ~ Year * Age,
data=this.ds,
region=F,
labels=F,
lwd=2,
at=c(0, 0.01, 1),
panel=function(...){
panel.contourplot(...)
panel.segments(x0=c(1840, 1900, 2000, 1840),
x1=c(1900, 1900, 2000, 2000),
y0=c(40.5, 0, 0, 64),
y1=c(40.5, 40.5, 64, 64),
lty="dashed")
}
)
Plot.Final <- Part1+ Part2
print(Plot.Final)