我正在创建以光栅文件为背景的地理 map 。为了更好地显示,我想将其中一些向侧面翻转(即北指向左侧,而不是向上)。这意味着我必须反转 x 轴(除了翻转 x 和 y),否则数据会显示错误(镜像)。

它适用于 geom_tile,但当然这很慢,尤其是在做 facet 时。
所以,我想使用 annotation_raster。这也可以正常工作,但只有在我反转 x 轴之前。然后就不再显示了。

此外,我怀疑这可能是相关的:切换 xmin 和 xmax 值似乎没有任何影响。始终以 xmin=min(xmin,xmax) 和 xmax=max(xmin,xmax) 显示。

library(ggplot2) ## v0.9.0

## works
qplot(mpg, wt, data = mtcars) +   annotation_raster(rainbow, xmin=15, xmax=20, ymin=3, ymax=4)

## swiching xmin and xmax, doesn't affect plotting
qplot(mpg, wt, data = mtcars) +   annotation_raster(rainbow, xmin=20, xmax=15, ymin=3, ymax=4)

## doesn't work
qplot(mpg, wt, data = mtcars) +   annotation_raster(rainbow, xmin=15, xmax=20, ymin=3, ymax=4) + scale_x_reverse()

我很感激任何想法。

干杯

最佳答案

Kohske 在 ggplot 帮助列表上发布了一个解决方法,它通过对 annotate_raster 使用负坐标解决了这个问题:

qplot(mpg, wt, data = mtcars) + annotation_raster(rainbow, xmin=-15,
      xmax=-20, ymin=3, ymax=4) + scale_x_reverse()

关于r - Annotation_raster 不适用于 scale_x_reverse,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9802936/

10-11 06:31