当我使用ggplot2
中的geom_tile()
和离散比例尺时,x轴标签是按升序排序的,而y轴标签是按降序排序的:
#some sample data
a <- runif(400)
a <- matrix(a, ncol=20)
colnames(a) <- letters[seq( from = 1, to = 20 )]
rownames(a) <- letters[seq( from = 1, to = 20 )]
a <- melt(a)
当我绘制数据框 a
时,会得到以下输出:
ggplot(a, aes(X1, X2, fill = value)) + geom_tile() +
scale_fill_gradient(low = "white", high = "black", breaks=seq(from=0, to=1, by=.1), name="value") +
opts(axis.text.x=theme_text(angle=-90, hjust=0)) +
scale_x_discrete(name="") + scale_y_discrete(name="")
而且坐标轴的x和y标签不同:
我希望将标签从上到下、从左到右按字母顺序排序。是否有快速的方法可以实现?
scale_colour_gradient
命令中添加limits = c(0, 1)
- 目前,1 超出了比例尺的限制,在图例中没有正确着色。 - hadley