小编YAS*_*SEM的帖子

如何删除 geom_tile 中图块之间的空白空间并更改图块大小

我有一个具有以下结构的 df :

    id   col1  col2  col3
#1  A     1     3     3
#2  B     2     2     3
#3  C     1     2     3
#4  D     3     1     1
Run Code Online (Sandbox Code Playgroud)

我想创建一个“类似热图”的图形,其中 col1-col3 被视为因子变量(有五个级别 1-5,此处未全部显示),并且根据它们的值,它们会收到不同的颜色。我已经对以下代码进行了相对深入的了解:

df <- melt(df, id.vars="id")
p <- ggplot(df, aes(x=variable, y=id, label=value, fill=as.factor(value))) + 
  geom_tile(colour="white", alpha=0.2, aes(width=0.4)) +
  scale_fill_manual(values=c("yellow", "orange", "red", "green", "grey")) +
  theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1)) +
  labs(x = "Value", y="id") +
  scale_x_discrete(expand=c(0,0))+
  scale_y_discrete(expand=c(0,0))
Run Code Online (Sandbox Code Playgroud)

然而,由于某种原因,我的图块在 x 轴上的图块之间(即每个因子水平之间)有很大的灰色空白空间。输出图像看起来像这样 示例“tile_plot”

另外,我在每个图块的中间都有这些细白线,
所以我想做的是:1-更改图块的大小和形状(希望它是正方形且比现在小)2-删除白色瓷砖中间的线。

谢谢你!

r ggplot2 geom-tile

3
推荐指数
1
解决办法
2691
查看次数

标签 统计

geom-tile ×1

ggplot2 ×1

r ×1