ggplot2 画图 X 轴排序问题
生活随笔
收集整理的這篇文章主要介紹了
ggplot2 画图 X 轴排序问题
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
實(shí)際使用ggplot2畫柱狀體時(shí),遇到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的排序有一定規(guī)則:
- 如果是factor類型,則使用factor的level屬性作為排序依據(jù)
- 如果是character類型,則按照字母順序
顯然上面因?yàn)閐ays是字符串,默認(rèn)按照字母順序。下面我們修改days為factor類型。
tips2$day <- factor(tips2$day,levels = c("Thur", "Fri", "Sat", "Sun")) ggplot(tips2, aes(x = day, y = perc)) + geom_bar(stat = "identity")有時(shí)我們并不滿足x軸按照factor排序,假設(shè)需要按照頻率排序,最頻繁的序列排在最前面,實(shí)現(xiàn)方式如下:
ggplot(tips2, aes(x = reorder(day, -perc), y = perc)) + geom_bar(stat = "identity")注意,上面代碼中的負(fù)號(hào)表示降序。
總結(jié)
以上是生活随笔為你收集整理的ggplot2 画图 X 轴排序问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 艾宾浩斯遗忘曲线PHP,艾宾浩斯记忆遗忘
- 下一篇: 将中文括号变为英文括号