Annotation_raster不适用于scale_x_reverse

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

它适用于geom_tile,但当然这非常慢,特别是在做facet时.
所以,我想使用annotation_raster.这也很好,但只有在我反转x轴之前.然后它不再显示.

另外,我怀疑这可能是相关的:swiching 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() 
点赞