R語言 ggplot2改變柱狀圖的順序操作
如下所示:
library(ggplot2) library(ggthemes) dt = data.frame(obj = c('A','D','B','E','C'), val = c(2,15,6,9,7)) dt$obj = factor(dt$obj, levels=c('D','B','C','A','E')) ## 設(shè)置柱條的順序 p = ggplot(dt, aes(x = obj, y = val, fill = obj, group = factor(1))) + geom_bar(stat = "identity", width = 0.5) + ## 修改柱條的寬度 theme_economist() p ## 特注:dt$obj 是因子類型,ggplot2作圖的順序就是按照這個(gè)因子水平的順序來的, ## 所以我們修改因子水平的順序即可修改作圖的順序,具體情況可以輸出一下 dt$obj
補(bǔ)充:ggplot柱狀圖調(diào)整順序_1.3 讓ggplot2的柱狀圖根據(jù)y的大小依次排列
方法:映射時(shí)使用reorder函數(shù),將映射給x的橫坐標(biāo)的變量()的次序,依據(jù)映射給y的變量的大小排列。
一、基本柱形圖
#先看一個(gè)常見的柱狀圖,此處的fill是給每一條的柱狀圖同一個(gè)顏色,所以沒有寫在ggplot語句中;當(dāng)然默認(rèn)先把映射給x的Abb變量轉(zhuǎn)化為因子變量(factor)
ggplot(upc, aes(x = Abb, y = Change)) + geom_col(fill = "#669933")
發(fā)現(xiàn): 柱子的大小沒有任何規(guī)律,原因在于下面的x軸的坐標(biāo)。雖然沒有專門設(shè)置x軸字體,不是清晰,但可以看到x軸的排列是根據(jù)ggplot中映射給x的每個(gè)因子變量的首字母排列的,A、B、C...
所以要想生成我們想要的順序的柱狀圖:要么手動設(shè)置因子的順序,要么按照按照一定的邏輯排列:比如,按照y軸的值從小到大排列。那么:
二、使用reorder函數(shù)讓柱狀圖有順序
# 映射給x的不是簡單的變量名為Abb的變量,而是將Abb變量根據(jù)Change變量(默認(rèn)從小到大)reorder后的Abb變量
ggplot(upc, aes(x = reorder(Abb,Change), y = Change)) + geom_col(fill = "#669933")
如圖:
當(dāng)然,想讓y軸從大到小變化,只需在Change前面加個(gè)負(fù)號:
ggplot(upc, aes(x = reorder(Abb, - Change), y = Change)) + geom_col(fill = "#669933")
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
- R語言ggplot2設(shè)置圖例(legend)的操作大全
- R語言ggplot2之圖例的設(shè)置
- R語言ggplot2包之坐標(biāo)軸詳解
- R語言 使用ggplot2繪制好看的分組散點(diǎn)圖
- R語言ggplot2圖例標(biāo)簽、標(biāo)題、順序修改和刪除操作實(shí)例
- R語言ggplot2邊框背景去除的實(shí)現(xiàn)
- R語言學(xué)習(xí)ggplot2繪制統(tǒng)計(jì)圖形包全面詳解
- R語言 解決安裝ggplot2報(bào)錯(cuò)的問題
- R語言ggplot2實(shí)現(xiàn)將多個(gè)照片拼接到一起
- R語言ggplot2繪圖安裝與調(diào)試
相關(guān)文章
R語言rhdf5讀寫hdf5并展示文件組織結(jié)構(gòu)和索引數(shù)據(jù)
這篇文章主要為大家介紹了R語言rhdf5讀寫hdf5并展示文件組織結(jié)構(gòu)和索引數(shù)據(jù),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06R語言數(shù)據(jù)框的合并實(shí)現(xiàn)示例
有時(shí)數(shù)據(jù)集來自多個(gè)地方,我們需要將兩個(gè)或多個(gè)數(shù)據(jù)集合并成一個(gè)數(shù)據(jù)集,本文主要介紹了R語言數(shù)據(jù)框的合并實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下2024-02-02R語言關(guān)于二項(xiàng)分布知識點(diǎn)總結(jié)
在本篇內(nèi)容里小編給大家整理的是一篇關(guān)于R語言關(guān)于二項(xiàng)分布知識點(diǎn)總結(jié)內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。2021-05-05R語言學(xué)習(xí)VennDiagram包繪制韋恩圖示例
這篇文章主要為大家介紹了R語言學(xué)習(xí)VennDiagram包繪制韋恩圖示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06R語言編程數(shù)學(xué)分析重讀微積分理解極限算法
這篇文章主要為大家介紹了R語言編程重讀微積分?jǐn)?shù)學(xué)分析理解極限算法的詳細(xì)過程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-10-10R語言使用ggplot繪制畫中畫細(xì)節(jié)放大的方法
這篇文章主要為大家介紹了R語言使用ggplot繪制畫中畫細(xì)節(jié)放大的方法實(shí)現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-11-11