これは基本的に同じ質問this oneですが、重要な違いが 1 つあります。水平パネルを使用し、すべてのタイルが同じ高さである ggplot2 ベースのタイル プロットが必要です。もう 1 つの質問は、垂直パネルに関するものでした。
他の質問のコードに基づいたコード例を次に示します。
d = data.frame(sites=rep(paste("S", 1:31),each=12),
month=factor(rep(1:12,31)),
value=runif(31*12),
panel=c(rep("Group 1",16*12), rep("Group 2", 12*12),
rep("Group 3", 3*12)))
これを使用してプロットする
ggplot(d, aes(x=month, y=sites, fill=value)) +
geom_tile(colour="white") + facet_wrap(~panel, nrow=1)
結果は
基本的に、青いタイルの各ブロックを上に移動して、それらの上にスペースがないようにしたい. 私はこれを使用して達成することができます
ggplot(d, aes(x=month, y=sites, fill=value, colour="white")) +
geom_tile(colour="white") + facet_wrap(~panel, scales="free_y", nrow=1)
しかし、これは高さが等しくないタイルになります:
もう 1 つの質問には垂直パネルの優れた解決策がありましたが、これを上記のコードに適用しても効果はありません。水平パネル用の同様のソリューションはありますか?