我使用莱迪思包中的contourplot函数生成了一个填充的等值线图。 我希望能够强调这个函数产生的轮廓线之一,例如通过改变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),但我对格子对象的基础逻辑/结构的理解还不足以弄清楚要做什么做。
感谢您的帮助。我基本上使用了第一个答案,但通过以下略微修改,可以指出轮廓线上的几个特征:
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)
答案 0 :(得分:1)
加载latticeExtra库。然后:
Part1<-contourplot(
Male ~ Year * Age,
data=this.ds,
region=T, col.regions=rev(heat.colors(200)),
cuts=50, main="", sep="")
Part2<-contourplot(
Male ~ Year * Age,
data=this.ds, region=F, labels=F, lwd=2, at=c(0, 0.01, 1))
Plot.Final<-Part1+Part2
这应该按照您的意愿组合图形。如果需要,您可能需要设置xlim,ylim和标签,以便一切正常。
答案 1 :(得分:0)
使用contour
代替contourplot
。
bar<-matrix(runif(100,nrow=10))
contour(bar)
contour(bar,levels = 0.2, lwd=3, add=TRUE)
编辑:事实证明你甚至不需要这样做。与contourplot
不同,contour
允许您指定线宽(或颜色或其他)的向量,因此contour(bar,lwd=c(2,1,1,1,1,))
就足够了。
编辑2:道歉:这是在graphics
包中。