我觉得我有一个棘手的问题。 我正在使用geom_raster
绘制时间内植物疾病水平的演变:x和y是任意领域坐标,z是在几个时间点上测量的疾病水平,我希望每个日期在不同的面板上绘制。
目前为止,没有问题。 以下是一个模拟数据集和代码:
library(ggplot2)
data <- data_frame(month=factor(rep(c("march","april","may","june"), each=100), levels=c("march","april","may","june")),
x=rep(rep(1:10, each=10), 4),
y=rep(rep(1:10, 10), 4),
z=c(rnorm(100, 0.5, 1), rnorm(100, 3, 1.5), rnorm(100, 6, 2), rnorm(100, 9, 1)))
ggplot(data, aes(x=x, y=y, fill=z)) +
geom_raster(color="white") +
scale_fill_gradient2(low="white", mid=mean(range(dat$z)), high="red") +
scale_x_discrete(limit=1:10, expand = c(0, 0)) +
scale_y_discrete(limit=1:10, expand = c(0, 0)) +
coord_equal() +
facet_wrap(~month)
但我真正想要的是,每个分面都以一定的角度旋转(例如15°),以反映我的领域并非完全按照北方方向定位(即顶部不是北方,底部不是南方)。
在ggplot2或任何与网格有关的工具中,是否有自动完成此操作的可能性?即使可以自动将单独的分面保存为图像,将它们旋转,并在新页面上打印旋转后的图像也足以满足我的需求。以下是我想获得的图像示例(在图像编辑器中旋转了15度的分面):
http://imgur.com/RYJ3EaR
ggplot
并不是为处理这种情况而设计的。事实上,我猜图形语法会积极地反对这种情况。 - alexwhitworth