我想在R中使用filled.contour()绘制函数f(x,y),并添加一条线/曲线来标识函数值为0的点。 为了使示例具有可重复性,让我们说我的函数的值是火山数据集中的值,而不是寻找f(x,y)= 0,我们想要添加一条线/曲线来识别火山的价值所在500。 我怎样才能做到这一点?下面的代码在X = 500和Y = 500处正确地添加了一个点。但是我怎样才能添加一条线,以便只有volcano = 500的点由一条线连接?我想只使用基本图形。
x <- 10*1:nrow(volcano)
y <- 10*1:ncol(volcano)
filled.contour(x, y, volcano, color = terrain.colors, plot.axes = { axis(1); axis(2); points(500, 500)})
答案 0 :(得分:0)
一种不完美的解决方案:
#create a new plot
contour(x,y,volcano)
#use .filled.colour instead of filled.contour
.filled.contour(x, y, volcano,levels=seq(90,200,1),col=terrain.colors(109))
# add a contour plot with specific levels on top of the filled contour
contour(x,y,volcano, level=130,add=T)
您可以通过将vectoor传递到参数级别来指定多个轮廓线:level = c(130,150)将绘制高度为130和150的轮廓
问题是fill.contour广告图例栏只需调用filled.contour然后轮廓使得两张图片不匹配(请参阅帮助中的注释(filled.contour))。
但是,使用此解决方案,您将松开图例栏。