我一直在网站上四处寻找,看看以前是否有任何关于使用 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)
有人对我如何解决我的问题有任何建议吗?