【发布时间】:2016-12-07 01:31:44
【问题描述】:
当我使用 geom_tile() 和 ggplot2 和离散刻度时,标签在 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 的坐标标记不同:
我想让标签从上到下从左到右从 a-z 排序。有没有快速的方法来做到这一点?
【问题讨论】:
-
您可能还想在当前的
scale_colour_gradient命令中添加一个limits = c(0, 1)- 目前1 超出了比例的限制,并且在图例中没有正确着色。 -
@hadley:非常感谢!这可能是我的第二个问题;)
-
如何完全不订购 y 标签?如果我有几个月,例如 J、F、M、A、M。它会自动排序。是否可以覆盖此默认行为?谢谢
-
@Roy 我记得这是一个因素水平的问题。但这可能值得创建一个新问题!