我想制作一个热图,显示每个框中数字的幅度和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。我知道如何获得边界厚度的传奇?