r - 使用科学记数法为图下方的 2 个栅格生成通用图例(比例)

标签 r plot legend raster scientific-notation

我正在尝试绘制具有相同比例的不同值的 2 个栅格以进行比较。我一直在尝试使用 this 找出答案和 this .

我遇到两个问题:

  1. 我希望能够以科学记数法显示图例标签(小数位数太多,没有任何用处)
  2. 我希望两个图的底部都有一个比例尺。

我熟悉使用 legend(),但不确定如何使用绘图设置刻度的位置/方向和科学计数法。 我生成了一些示例数据来显示我遇到的问题:

library(raster)
set.seed(10)
x = runif(2000000, -0.0005, .9875)
y = runif(2000000, -0.0008, .99)
xmat = matrix(x, nrow = 500)
ymat = matrix(x, nrow = 500)
xras = raster(xmat)
yras = raster(ymat)
min_ = min(minValue(xras), minValue(yras))
max_ = max(maxValue(xras), maxValue(yras)) 

绘制我正在使用的数据:

par(mfrow = c(2,1))
plot( xras, col=rev( rainbow( 99, start=0,end=1 ) ), breaks=seq(min_,max_,length.out=100), legend = FALSE,  axes = FALSE )
plot( yras, col=rev( rainbow( 99, start=0,end=1 ) ), breaks=seq(min_,max_,length.out=100), legend = FALSE, axes = FALSE )
r.range = c(min_, max_)

并生成我正在使用的图例:

plot(xras, legend.only=TRUE, col=rev( rainbow( 99, start=0,end=1 ) ),  legend.width=1, legend.shrink=0.75, axis.args=list(at=seq(r.range[1], r.range[2], abs(r.range[1]-r.range[2])/4), labels=seq(r.range[1], r.range[2], abs(r.range[1]-r.range[2])/4), cex.axis=0.6), legend.args=list(text='Precipitation (m)', side=1, font=2, line=2.5, cex=0.8))

我愿意接受任何方法/包来解决这个问题。我已经看到 image() 是绘制栅格的流行解决方案,但更希望能够保持与栅格关联的投影。

重申我所希望的:显示两个栅格图(具有不同但相似的值(参见示例)),下面有一个共同的图例,使用科学计数法。

最佳答案

这是一次尝试。需要进一步完善:

library(rasterVis)
set.seed(10)
x = runif(2000000, -0.0005, .9875)
y = runif(2000000, -0.0008, .99)
xmat = matrix(x, nrow = 500)
ymat = matrix(x, nrow = 500)
xras = raster(xmat)
yras = raster(ymat)
min_ = min(minValue(xras), minValue(yras))
max_ = max(maxValue(xras), maxValue(yras))
r.range = c(min_, max_)

levelplot(stack(xras, yras), col.regions = rev(rainbow(99, start=0, end=1)), colorkey = list(space = "bottom"))

enter image description here

关于r - 使用科学记数法为图下方的 2 个栅格生成通用图例(比例),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28335994/

相关文章:

R - Lattice xyplot - 如何将误差线添加到组和摘要行?

r - 获取一式三份记录的 rowSums 并仅保留具有最高值的记录

matlab - 我们如何在金融烛台图表上绘制红点(代表交易)?

java - 更改节点中标签的位置 - Jung2 Java Graph Library

legend - 这是 zingchart 中的错误吗(箱线图图例)

r - 如何通过代理安装 R 包 [用户 + 密码]

r - 在给定日期-30天之内对学生的最新分数进行排名

python : Matplotlib Plotting all data in one plot

python - 为来自矩阵一列的每个线图创建图例条目

java - 在 jchart2d 中个性化图例