首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >删除filled.contour图例中的线条

删除filled.contour图例中的线条
EN

Stack Overflow用户
提问于 2011-11-10 00:43:04
回答 2查看 4.8K关注 0票数 5

我可能遗漏了一些简单的东西...我找不到任何方法来删除区别不同颜色的图例中的线;根据?filled.contour中的火山地形示例,我得到了以下内容:

代码语言:javascript
复制
x <- 10*1:nrow(volcano)
y <- 10*1:ncol(volcano)

filled.contour(x, y, volcano, color = terrain.colors,
   plot.title = title(main = "The Topography of Maunga Whau",
    xlab = "Meters North", ylab = "Meters West"),
    plot.axes = { axis(1, seq(100, 800, by = 100))
              axis(2, seq(100, 600, by = 100)) },
    key.title = title(main="Height\n(meters)"),
    key.axes = axis(2,
          labels=FALSE,
          at=FALSE,
          lty=NULL,
          tick=FALSE,
          col="white",
          col.ticks=NULL)
)
mtext(paste("filled.contour(.) from", R.version.string),side = 1, line = 4, adj = 1, cex = .66)

我已经设法从轴上删除了所有的标签和刻度线,但线条仍然存在(顺便说一句,我试图实现的效果是(我相信)Matlab中的默认效果!)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-11-10 00:51:42

如果您检查filled.contour的代码,您将看到下面这一行:

代码语言:javascript
复制
rect(0, levels[-length(levels)], 1, levels[-1L], col = col)

绘制颜色键矩形的。它是矢量化的,所以它绘制了每个单独的颜色框。函数rect接受参数border,如果设置为NA,将省略矩形的内部边界。因此,创建您自己的函数版本,并将此行更改为:

代码语言:javascript
复制
rect(0, levels[-length(levels)], 1, levels[-1L], col = col, border = NA)

或者将其作为参数,而不是硬编码。当我这样做的时候,我得到了下面的图表:

票数 9
EN

Stack Overflow用户

发布于 2014-08-05 23:23:44

您甚至不需要更改filled.contour硬代码。显然,函数rect中的参数border依赖于par("fg")。只需将par(fg = NA)设置为删除那些黑线。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8068366

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档