geom_bar()時考慮由下面的代碼prvided的柱狀圖:錯誤X軸順序使用具有字符X對象
y<-rnorm(10)
x<-c('0~0.1','0.1~0.2','0.2~0.3','0.3~0.4','0.4~0.5','0.5~0.6','0.6~0.7','0.7~0.8','0.8~0.9','0.9~1')
data<-data.frame(x,y)
library('ggplot2')
ggplot(data=data,aes(x=x,y=y))+geom_bar(stat="identity",fill='light blue')
奇怪的是,該0~0.1
位於X軸的末端,即使0~0.1
位於第一行data
。
但是,當我將'0~0.1'
更改爲'0.0~0.1'
時,我得到了正確的圖表。
爲什麼會發生這種情況?還有什麼其他方法可以使x軸的順序對應於初始數據順序嗎?
ggplot按照其字母順序對數據進行排序。你可以通過運行'sort(x)'來查看輸出。要將字符數據設置爲您想要的順序,請將其轉換爲一個因子。在這種情況下,在創建繪圖之前,執行'data $ x = factor(data $ x,levels = x)'。這是可行的,因爲矢量'x'已經按照你想要的方式排列。 – eipi10
[更改離散x比例的順序]的可能重複(http://stackoverflow.com/questions/3253641/change-the-order-of-a-discrete-x-scale) – lbusett