在ggplot2中排序分组条时出错

时间:2018-02-05 23:26:55

标签: r ggplot2

我的数据采用长格式(按照分组条形图的要求),因此不同类别的值位于一列中。数据为here

现在,带有ggplot2的标准条形图按字母顺序排列条形图(在我的国家名称中,从阿根廷到乌干达)。我想保持数据框中国家的顺序。使用建议here(即使用limits=函数中的scale_x_discrete选项),我得到以下图表:

enter image description here

我的代码是:

mydata <- read_excel("WDR2016Fig215.xls", col_names = TRUE) 

y <- mydata$value
x <- mydata$country
z <- mydata$Skill

ggplot(data=mydata, aes(x=x, y=y, fill=z)) + 
            geom_bar(stat="identity", position=position_dodge(), colour="black") + 
            scale_x_discrete(limits=x) 

图形很好地按照我的要求排序,但x轴由于某种原因被扩展。不知道是什么问题?

1 个答案:

答案 0 :(得分:1)

此?

mydata$country <- factor(mydata$country, levels=unique(mydata$country)[1:30])
ggplot(data=mydata, aes(x=country, y=value, fill=Skill)) + 
  geom_bar(stat="identity", position=position_dodge(), colour="black")