Думаю, у меня сложный случай. Я рисую эволюционные уровни заболеваемости растений во времени, используя 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