首页 > 解决方案 > 使用 geom_tiles 对列进行排序

问题描述

我一直在网站上四处寻找,看看以前是否有任何关于使用 geom_tiles 对热图上的列进行排序的帖子。我正在尝试创建一个热图,显示加拿大不同地区发生的某些规模的水文研究。我的原始代码如下所示。

##Hydrologic Scale Frequency Table## 
data5=read.csv(file.choose())

#load ggplot2

ggplot(data5, aes(Hydrologic, Jurisdiction)) +
geom_tile(aes(x=Hydrologic, y=reorder(Jurisdiction, Rank), fill = Freq), colour = "black") +
geom_text(aes(label=Freq), color = "black") +
scale_fill_gradient(low = "white", high = "#48D1CC")

上面的代码没有以有意义的顺序显示我的列(即最后的 NA/Non 可区分列)。

当我在 geom_tiles 代码之前执行以下代码时,它将所有列合并为一列。

col_order <- c("Basin", "Water body", "Watershed", "Non Distinguishable")
data5$Hydrologic <- factor(data5$Hydrologic, levels = col_order)

有人对我如何解决我的问题有任何建议吗?

标签: rggplot2geom-tile

解决方案


推荐阅读