ヒートマップが表す2変量分布の2次元に沿った限界分布を表すヒートマップの2つの棒グラフを追加したいとします。ここでR:grid.arange marginal plots to ggplot2 "heatmap"(geom_tile)
は、いくつかのコードは次のとおりです。
library(gridExtra)
library(ggExtra)
library(cowplot)
# generate some data
df_hm = cbind(
expand.grid(
rows = sample(letters, 10),
cols = sample(LETTERS, 10)
),
value = rnorm(100)
)
# plot the heatmap
gg_hm = df_hm %>%
ggplot(aes(x = rows, y = cols, fill = value)) +
geom_tile() +
theme(legend.position = "bottom")
gg_rows = df_hm %>%
group_by(rows) %>%
summarize(value = mean(value)) %>%
ggplot(aes(x = rows,y = value)) +
geom_bar(stat = "identity", position = "dodge")
gg_cols = df_hm %>%
group_by(cols) %>%
summarize(value = mean(value)) %>%
ggplot(aes(x = cols, y = value))+
geom_bar(stat = "identity", position = "dodge") +
coord_flip()
gg_empty = df_hm %>%
ggplot(aes(x = cols, y = value)) +
geom_blank() +
theme(axis.text = element_blank(),
axis.title = element_blank(),
line = element_blank(),
panel.background = element_blank())
# try this with grid.arrange
grid.arrange(gg_rows, gg_empty, gg_hm, gg_cols,
ncol = 2, nrow = 2, widths = c(3, 1), heights = c(1, 3))
を私が行うことができるようにしたいどのような赤い矢印で示すように整列するために、グラフを移動することです: - (1,1)のy軸は、(2,1)のy軸と一致する必要があります。 - (2,1)のx軸は、(2,2)のx軸と一致する必要があります。
レナート、。しかし、元のプロットの伝説をどうやって追加するのですか? – tchakravarty
申し訳ありません!伝説が追加されました。編集された記事をご覧ください。 –
それは完璧です。おかげさまで、私は 'gtable'をもっと身近にするよう努力します。 – tchakravarty