我有这段代码:
library(ggplot2)
tableau.m <- melt(tableau)
ggplot(tableau.m, aes(variable, Name)) +
geom_tile(aes(fill = value), colour = "white") +
scale_fill_distiller(palette = "Spectral") +
theme(axis.text.x = element_text(angle = 270))
with tableau:
Name,NGO,A,E,D,C
NGO,10,5,14,3,0
A,5,21,6,1,0
E,14,6,19,6,4
D,3,1,6,7,1
C,0,0,4,1,3
哪位给我这个:
现在,这是一个邻接矩阵,我需要行和列在对角线上相遇。出于某种原因,行按字母数字顺序排序,而列保持其原始顺序。
我该如何解决这个问题?
答案 0 :(得分:1)
这是你可以尝试的答案。我在ggplot之外重构了一些东西。这是个人偏好,因为我希望能够检查一下,过去我犯了很多错误。
#set vector of levels you want
mylevels <- tableau$Name
#reorder factors
tableau.m$Name <- factor(tableau.m$Name,levels=mylevels)
tableau.m$variable <- factor(tableau.m$variable, levels=mylevels)
#plot
ggplot(tableau.m, aes(variable, Name)) +
geom_tile(aes(fill = value), colour = "white") +
scale_fill_distiller(palette = "Spectral") +
theme(axis.text.x = element_text(angle = 270))