我已经成功创建了一个箱形图,显示了一个城市的几个街区的得分,并根据它们所属的区域对它们进行了着色。结果如下:
library(ggplot2)
df = read.csv("http://pastebin.com/raw/rpPLwSXn")
ggplot(df, aes(x = neighbourhood, y = score, fill = district)) +
geom_boxplot() +
ggtitle("Neighbourhoods' score") +
labs(x = "Neighbourhoods", y = "Score", fill = "District") +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
尽管不是按字母顺序排序x轴上的邻域(数据框上的neighbourhood
列),但我希望它们根据它们所属的区分进行排序({{1数据框上的变量)
我读过我可以使用district
来重新定位factor
列上的值,但由于向量长度不同(区域比邻域少),因此没有成功/ p>
答案 0 :(得分:3)
我喜欢Ulrik的答案中的方面思想 - 这可能是最好的可视化。要订购neighbourhood
列的因子级别,最简单的方法可能就是这样:
# order the data frame as desired
df = df[order(df$district, df$neighbourhood), ]
# set the neighbourhood levels in the order the occur in the data frame
df$neighbourhood = factor(df$neighbourhood, levels = unique(df$neighbourhood))
在级别按照您想要的顺序后,轴将跟随。
答案 1 :(得分:2)
我会在facet_wrap(〜district)
的区域面对参见?facet_grid和?facet_wrap