【问题标题】:How can I highlight minimum values in a levelplot in R?如何在 R 的 levelplot 中突出显示最小值?
【发布时间】:2018-04-14 19:56:26
【问题描述】:

如何将 385*373 水平图的十个最小值网格点突出显示为黑点? 我有索引以及十个最小网格点的坐标。最好我会使用 idex...

我有以下显示欧洲气温 (Z) 的水平图,X 和 Y 分别是经度和纬度。

levelplot(Z ~ X*Y, data=data  , xlab="X" , col.regions = heat.colors(100))

还有一个问题:如何添加与基础数据具有相同投影类型的国家等值线?我之前在另一个函数中尝试过

image(x,y,data,...)  
data(wrdl_simpl)
plot(wrld_simpl, add = TRUE)

国家等高线图的投影似乎完全不同。但是,我现在想为levelplot() 执行此操作。 非常感谢您的帮助!

【问题讨论】:

  • 在下面回答了您的主要问题。关于您的第二个问题,我建议您打开另一个问题并添加一些示例数据。

标签: r levelplot


【解决方案1】:

lattice 图与基础图不同。因此使用points 不起作用。但是有替换功能。这是一种方法:

x    <- seq(-10, 10, length.out = 100)
y    <- seq(-10, 10, length.out = 100)
z    <- as.vector(sqrt(outer(x^2, y^2, "+")))
grid <- cbind(expand.grid(x=x, y=y), z)

minimum <- grid[which.min(grid$z),]

levelplot(z ~ x * y, grid, panel = function(...) {
            panel.levelplot(...)
            panel.points(x = minimum$x, y = minimum$y, pch = "x", cex  =2)
          })

我们基本上是在 panel 参数中构建情节。

【讨论】:

    猜你喜欢
    • 2011-09-28
    • 1970-01-01
    • 1970-01-01
    • 2017-09-17
    • 2022-01-11
    • 1970-01-01
    • 2022-11-22
    • 2014-09-02
    • 1970-01-01
    相关资源
    最近更新 更多