Используйте facet_wrap в R
В этом ответе я попытался использовать фасеты, чтобы включить белые линии между "зонами" моей тепловой карты. Вот та же проблема, что и у меня с использованием набора данных ChickWeight.
library(reshape)
library(ggplot2)
ChickWeight.long <- melt(ChickWeight, id = c("Chick", "Diet"))
#Non-split heatmap
ggplot(ChickWeight.long, aes(x = Chick, y = variable, fill=value)) +
geom_tile(colour="white",size=0.1) + #add grid lines between the tiles
xlab("Chick") + ylab("") + labs(fill = "weight") +
theme_minimal()
Это мой оригинальный сюжет, я хотел бы, чтобы вертикальные линии лучше различали группы вещей (в данном случае цыплят) по оси X
#Attempt of split heatmap
ggplot(ChickWeight.long, aes(x = Chick, y = variable, fill=value)) +
facet_wrap(~Diet) +
geom_tile(colour="white",size=0.1) + #add grid lines between the tiles
xlab("Chick") + ylab("") + labs(fill = "weight") +
theme_minimal()
Это то, что я получаю. Я бы хотел, чтобы растянутые участки растягивались на всю длину. Что я делаю неправильно?
1 ответ
Я сделал Chick
numeric
переменная и позволяет шкале х быть свободным.
ChickWeight.long$Chick <- as.numeric(as.character(ChickWeight.long$Chick))
ggplot(ChickWeight.long, aes(x = Chick, y = variable, fill=value)) +
facet_wrap(~Diet, scale = "free_x") +
geom_tile(colour="white",size=0.1) + #add grid lines between the tiles
xlab("Chick") + ylab("") + labs(fill = "weight") +
theme_minimal()