[R]如何繪製條型圖(Bar chart)? geom_bar()

15 篇文章 0 订阅
本文介绍了如何在R语言中使用ggplot2包创建直方图和条形图,以进行数据可视化。通过示例代码展示了如何绘制直方图、简单的条形图以及排序后的条形图,强调了geom_bar函数中stat参数的作用,帮助理解数据分布和比较。同时,提供了使用stat='count'绘图的实例,以展示不同统计方法在图表绘制中的应用。
摘要由CSDN通过智能技术生成

在數據分析中,直方圖(Histogram)和條型圖(Bar chart)是常用於觀察數據樣態的工具。關於直方圖的用法,可參考<[R]直方圖(Histogram)的用法>文章。

關於條型圖的用法,各位一定不陌生,尤其是經過2020年的COVID-19疫情事件,為了統計和比較各區域的確診或死亡病例,各媒體常以條型圖呈現數據。在R語言中,藉由安裝包ggplot2亦可輕鬆繪製,範例程式如下。

a.首先,利用install.packages()安裝ggplot2,並用library()導入。

#install package
install.packages(ggplot2)

#library
library(ggplot2)

b.利用data.frame將數據整理成一個dataframe。

#data
data1<-c("a","b","c","d","e","f","g","h","i","j","k","l")
data2<-c(15,6,21,43,29,11,25,31,44,33,15,31)
combinedata<-data.frame(data1,data2)

#輸出結果
> combinedata
   data1 data2
1      a    15
2      b     6
3      c    21
4      d    43
5      e    29
6      f    11
7      g    25
8      h    31
9      i    44
10     j    33
11     k    15
12     l    31

c.先簡單用hist()來觀察一下數據。

#hist chart
hist(as.numeric(combinedata$data2),breaks = 5)

d.利用geom_bar來繪製條型圖,但這個條型圖似乎有些混亂,若能進一步排序更好。

#bar chart
ggplot(combinedata,aes(data1,data2))+
  geom_bar(stat ='identity',color='black',fill='blue' )+
  coord_flip()+xlab("name")+ylab("value")

e.利用reorder()對數據做排序,排序的條型圖看起來清爽多了,數據也更有條理和便於觀察。

#bar chart(reorder)
ggplot(combinedata,aes(reorder(data1,as.numeric(data2)),data2))+
  geom_bar(stat ='identity',color='black',fill='blue' )+
  coord_flip()+xlab("name")+ylab("value")

f.來說說geom_bar中的stat函數,stat有兩種語法可供選擇,若是需要以"計數"作為繪製變量,可選擇stat="count",若是需要將變量(如範例中的data2)的"數值"作為繪製變量,可選擇stat="identity"。下列是用stat="count"來說明的範例。

#bar chart(count)
ggplot(combinedata,aes(data2))+
  geom_bar(stat ='count',color='black',fill='blue',width = 2)+
  coord_flip()+xlab("value")+ylab("count")

-----如果文章對您有幫助,打開微信掃一掃,請作者喝杯咖啡。-----

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值