请教:用ggplot,x轴是离散数据,如何排序x轴的数据,如下图的星期一应该排第一,谢谢

0

QQ图片20170921113041.jpg

 
已邀请:
0

heavenzone 2017-11-10 回答


```{r}
require(ggplot2)
days <- data.frame(day = c("星期三","星期四","星期五","星期六","星期日","星期一","星期二"),

value = sample(1:100,7))

# 情况1,按星期顺序排序
# 因子手动排序
days$day <- factor(days$day, levels = c("星期一","星期二","星期三","星期四","星期五","星期六","星期日"))
with(days,qplot(day,x = day, y = value) + geom_bar(stat = "identity"))

# 如果想按value的大小排序(升序)
days$day <- with(days, reorder(day,value))
with(days,qplot(day,x = day, y = value) + geom_bar(stat = "identity"))

# 如果想按value的大小排序(降序)
days$day <- with(days, reorder(day,-value))
with(days,qplot(day,x = day, y = value) + geom_bar(stat = "identity"))
```

要回复问题请先登录注册