在移除热图中平铺之间的白色时遇到问题。下面是代码和图片。以前有人遇到过吗?
t <- ggplot(Drug_heatmap_df_final,
aes(x=reorder(Drug,Total_Deaths), y=Start_Date, fill=Total_Deaths)) +
geom_tile() +
labs(title="Heatmap of Total Deaths per month by Drug", x="Drug", y="Month") +
theme(plot.title = element_text(hjust=.5)) +
scale_y_date(date_breaks="1 year" , labels = date_format("%b-%Y")) +
theme(axis.text.x = element_text(size=13))
plot(t)
3条答案
按热度按时间u3r8eeie1#
我不知道这是否是最优雅的解决方案,但如果您在
aes
中添加color
,然后在geom_tile
中使用大小,您可以让它们重叠并删除白色:首先是我的数据看起来与白色:
现在,我将颜色设置为与填充相同的对象,并更改大小:
就像我说的,可能不是最优雅的解决方案,可能有一个更好,更有效的方法来确定大小值(而不是像我那样反复试验),但总的来说,这似乎解决了你的问题。
lndjwyie2#
因此,我也在努力解决同样的问题,无法使我的冒犯轴(24小时周期)离散。最后,我意识到,我每2分钟(1/30小时)绘制一次图块,我的csv数据文件将点舍入到0.03的间隔,在图块之间留下了间隙,因此出现了白色。我只是简单地将Excel工作表中的小数位数从2位改为许多位,给出0.03333333间隔,白色消失了。Horray!my heatmap before vs after
2j4z5cfb3#
如果在两个轴上都绘制连续变量,并且使用
geom_tile
,则应考虑使用geom_raster
。geom_raster
删除了我的用例中的行,而且速度更快!geom_raster
要求每个图块大小相同,但根据我的经验,这通常已经足够了。请在此处查看文档:https://ggplot2.tidyverse.org/reference/geom_tile.html