ggplot2 画图 X 轴排序问题
生活随笔
收集整理的這篇文章主要介紹了
ggplot2 画图 X 轴排序问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
實際使用ggplot2畫柱狀體時,遇到x軸排序問題。本文描述問題及其解決過程。
data(tips, package = "reshape2")library(tidyverse) library(scales) # for percentage scalestips %>% count(day) %>% mutate(perc = n / nrow(tips)) -> tips2 ggplot(tips2, aes(x = day, y = perc)) + geom_bar(stat = "identity")圖形畫出來了,但x軸的順序不對。原來ggplot2的排序有一定規則:
- 如果是factor類型,則使用factor的level屬性作為排序依據
- 如果是character類型,則按照字母順序
顯然上面因為days是字符串,默認按照字母順序。下面我們修改days為factor類型。
tips2$day <- factor(tips2$day,levels = c("Thur", "Fri", "Sat", "Sun")) ggplot(tips2, aes(x = day, y = perc)) + geom_bar(stat = "identity")有時我們并不滿足x軸按照factor排序,假設需要按照頻率排序,最頻繁的序列排在最前面,實現方式如下:
ggplot(tips2, aes(x = reorder(day, -perc), y = perc)) + geom_bar(stat = "identity")注意,上面代碼中的負號表示降序。
總結
以上是生活随笔為你收集整理的ggplot2 画图 X 轴排序问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 艾宾浩斯遗忘曲线PHP,艾宾浩斯记忆遗忘
- 下一篇: 将中文括号变为英文括号