條形圖可能是所有圖形里面最基本的圖形了,雖然很簡單,在R里面有些地方不注意,還是會很容易出錯。
geom_bar()的基本參數情況
geom_bar(mapping = NULL, data = NULL, stat = "bin", position = "stack", width = NULL,...... )
#mapping 數據映射,更改映射默認值時使用
#data 數據集,更改映射數據集時使用
#stat 統計變換,這個參數使用頻率相對較高
#position 位置調整,用於調整圖層中重疊的點
#width 用於調整條形的寬度
下面來看些具體的例子:
p<-ggplot(mtcars,aes(factor(cyl)))
p+geom_bar()
此時主要,這里我用factor 使得變量cyl以離散變量的形式呈現,正常情況下x軸顯示的是連續的區間。
另外,stat默認值為bin的情況下,是對數據進行計數
p+geom_bar(width=0.5)+coord_flip()
使用coord_flip() 調整條形的方向
p+geom_bar(width=0.6,aes(fill=factor(cyl)))
對數據條進行顏色填充
p+geom_bar(width=0.5,stat="identity",aes(,mpg))
如果x只是作為分類變量使用,同時一個y值的情況下,需要對stat 參數進行更改,把stat的值改成identity
此時的條形圖的長短表示各分類對y值求和
p+geom_bar(width=0.5,aes(fill=factor(vs)))
也可以使用fill參數 做成堆疊效果
p+geom_bar(width=0.5,position="dodge",aes(fill=factor(vs)))
默認情況下position參數為stack,為堆疊效果,我們把參數值改為dodge,可以增強對比效果
p+geom_freqpoly(stat="count",aes(colour=vs,group=vs))
也可以把它做成線性頻率圖
p+geom_bar(width=0.5,aes(weight=vs))
以變量cyl為分類的情況下,vs各類的計數情況
以上圖用的數據集mtcars,分類不是很多而且數據量比較少,換個數據量大並且分類相對較多的數據集,圖的對比效果可能會更明顯一些。