各ボックスの数値の大きさと p 値の両方を表示するヒートマップを作成したいと思います。各セルの色で値 (v) を表し、各セルの境界線の太さで p 値を表す必要があります。
df = data.frame(x=1:5, y=letters[1:5], v=1:5, p=10^(-(1:5)) )
私が持っているもの:
plt <- ggplot(df, aes(x=x,y=y,fill=v)) + geom_tile()
最初のパスがあります。このコードは、値の意味に応じて境界線の太さを変更します。
plt <- ggplot(df, aes(x=x, y=y, fill=v)) +
geom_tile( size=1-df$p, colour='black' )
今、私はフィギュアをきれいにしようとしています。すべてのセル間に規則的な間隔を追加するにはどうすればよいですか? 境界線が隣接するセルと重ならないように、バッファー ゾーンを作成する必要がありますか?
答え: aes の高さと幅の変数
これが私が最終的に得た図です:
plt3 <- ggplot(mel, aes(y=Subject,x=HMO,fill=b,height=.75,width=.75 ))+
geom_tile(size=3*(mel$border)) +
scale_fill_gradientn(colours=rev(c("blue1",'lightblue', "white" ,'orangered', "red1")) )
境界線の凡例が必要ですが、表示できません。aesではないからだと思います。境界線の太さの凡例を取得する方法について何か考えはありますか?