【问题标题】:rastervis vectorplot directon reverse doesn't worksrastervis vectorplot directon reverse 不起作用
【发布时间】:2021-11-28 09:10:26
【问题描述】:

我正在尝试绘制一个带有箭头的向量图,用于从低值到高值的向量场。这是向量图函数的相反方向。该函数对此有一个选项,但是指定 reverse = T 不会改变结果。我该如何解决这个问题? 来自 ?vectorplot

的可重现示例
library(raster); library(rasterVis)

proj <- CRS('+proj=longlat +datum=WGS84')

df <- expand.grid(x=seq(-2, 2, .01), y=seq(-2, 2, .01))
df$z <- with(df, (3*x^2 + y)*exp(-x^2-y^2))
r1 <- rasterFromXYZ(df, crs=proj)
df$z <- with(df, x*exp(-x^2-y^2))
r2 <- rasterFromXYZ(df, crs=proj)
df$z <- with(df, y*exp(-x^2-y^2))
r3 <- rasterFromXYZ(df, crs=proj)
s <- stack(r1, r2, r3)
names(s) <- c('R1', 'R2', 'R3')

vectorplot(r1, reverse=FALSE)# reverse  Logical, TRUE if arrows or streamlets go against the direction of the gradient.

vectorplot(r1, reverse=TRUE) # produce same results as vectorplot(r1, reverse=FALSE)

感谢大家的帮助。

【问题讨论】:

    标签: r raster terrain rastervis


    【解决方案1】:

    reverse 选项仅在对象是矢量场 (isField = TRUE) 时可用。试试这个:

    sa <- terrain(r1, opt=c("slope", "aspect"))
    vectorplot(sa, isField = TRUE)
    vectorplot(sa, isField = TRUE, reverse = TRUE)
    

    您可以使用region 参数将原始光栅显示为背景:

    vectorplot(sa, isField = TRUE, reverse = TRUE, region = r1)
    

    我在帮助页面have improved the text

    【讨论】:

    • 亲爱的奥斯卡,谢谢。您的回答有助于找出解决方案,但是,我只对反转箭头方向感兴趣并将 r1 (光栅)作为背景。我正在寻找一种方法让箭头显示从低值到高值的方向,而不是标准的高到低。
    • 我已经修改了答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-25
    • 2013-05-03
    • 1970-01-01
    • 2021-10-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多