【问题标题】:placing legend below a raster plot and getting rid of the rectangle surrounding raster plot将图例放在栅格图下方并去掉围绕栅格图的矩形
【发布时间】:2012-03-08 01:04:18
【问题描述】:

我正在使用下面给出的三行代码从存储在文件中的数据绘制光栅图像。但是,我希望在图像下方生成一个图例(或颜色图表)。默认图例在右侧生成。知道如何在所需位置获得图例。 其次,我在图像周围得到了一个矩形,这在最终图中不需要。请帮我解决这些问题。

            temp_var<-raster(input)
    par(mar=c(0,0,0,0))
    plot(temp_var,legend=F,axes=FALSE)

谢谢...

【问题讨论】:

    标签: r


    【解决方案1】:

    我在plot() 方法中为Raster* 对象使用了矩形。我相信有办法摆脱它,但你不需要。我一直使用这种解决方法:

    image(temp_var, axes=FALSE, xlab="", ylab="")
    

    至于您的传奇,我相信您将不得不根据您的规格手动构建它。试试:

    layout(matrix(c(1,1,1,1,1,2,2), 7, 1))
    par(mar=c(0,0,0,0))
    image(temp_var, axes=FALSE, xlab="", ylab="")
    plot(c(0,1), c(0,1), type="n", xlab="", ylab="", axes=FALSE)
    legend(0.1,0.9, legend=c(1:5), fill=rainbow(5), horiz=TRUE)
    

    【讨论】:

      【解决方案2】:

      我过去使用 colorbar.plot 取得了一些成功。用legend=FALSE禁用plot(raster(x))自动插入的图例,然后调用colorbar.plot(),即

      plot(raster(x),legend=FALSE)
      colobar.plot(...) 
      

      【讨论】:

      • PS:这个问题是工作同事不小心用我的登录发帖的。我不会发布问题然后在一小时后回答它们......
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-12
      • 2015-02-12
      • 2021-06-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多