gpt4 book ai didi

r - 如何用 > < 表示最高和最低值?

转载 作者:行者123 更新时间:2023-12-01 02:04:09 25 4
gpt4 key购买 nike

我有一个光栅,当我绘制它时,我得到了一个矩形的图例。我被要求将图例绘制为该图中的图例(底部和顶部有两个箭头)。

enter image description here

三角形中的颜色代表所有大于 15 和小于 -10 的值。如果三角形很难放在图例上。是否可以只放在
符号 > < 在 15 和 10 之前!。

    on the top > 15   and on the bottom < -10
library(raster)
r <- raster(nrows=10, ncols=10); r <- setValues(r, 1:ncell(r))
plot(r)

最佳答案

传达相同信息的一种方法是,如您所说,指示底部和顶部的颜色代表“小于 -10”和“大于 15”。这相当于说斜坡的末端分别是负无穷大和正无穷大。

以下是您可以使用 rasterVis::levelplot 执行此操作的方法:

# First, some fake data
r <- raster(matrix(runif(100, -20, 30), 10))

library(rasterVis)
levelplot(r, margin=FALSE, at=c(-Inf, seq(-10, 15, 2.5), Inf),
colorkey=list(at=seq(-12.5, 17.5, 2.5),
labels=c(expression(-infinity),
seq(-10, 15, 2.5),
expression(infinity)))
)

enter image description here

以上, at论据 levelplot控制绘图中颜色将发生变化的中断点。我们将其设置为 -Inf 之间的值-10 是一种颜色,然后颜色每 2.5 个单位改变一次,直到 15,之后颜色恒定到 Inf . at colorkey 的元素list 控制颜色图例的颜色中断。负无穷和正无穷将由 -12.5 和 17.5 表示。 labels colorkey 的元素确定将在这些位置绘制的标签。我们可以使用 expression包括无穷大符号。

如果您想使用 fork 坡道,您可以根据坡道负侧和正侧的长度手动计算合适的坡道。例如,在上面的示例中,我们需要 7 种正色和 5 种负色,因此我们可以创建 14 种颜色的渐变,并排除前 2 种颜色:
library(RColorBrewer)
colr <- colorRampPalette(rev(brewer.pal(11, 'RdBu')))(14)[3:14]

然后通过这个斜坡到 col.regions :
levelplot(r, margin=FALSE, at=c(-Inf, seq(-10, 15, 2.5), Inf), 
colorkey=list(at=seq(-12.5, 17.5, 2.5),
labels=c(expression(-infinity),
seq(-10, 15, 2.5),
expression(infinity))),
col.regions=colr
)

enter image description here

关于r - 如何用 > < 表示最高和最低值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33925834/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com