我正在创建以光栅文件为背景的地理 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/