R語言作圖之直方圖histogram繪制過程詳解

先給大傢介紹下R語言入門:直方圖histogram的繪制,具體內容如下所示:

直方圖和條形圖最大的不同則是直方圖可以用於顯示出一個數據的頻數,具有統計的作用,我們下面來看一一看直方圖在R語言當中是如何繪制的吧!

首先創建一系列的數據:

h<-c(4,6,3,46,3,5,7,8,3,4,3,4,5)

創建完之後將這個數據納入到直方圖histogram的繪制函數hist()當中,如下所示:

hist(h,xlab = "number'scale",ylab="Right",col="blue",border = "red")

其中的參數h表示我們納入進來的數據,這些數據將會在x軸上進行標定,xlab表示的是x軸的標簽,ylab表示的是y軸的標簽,col表示的是直方圖的顏色,border表示的是直方圖邊緣的顏色,繪制的結果如下所示:

 如果想要對繪制的數據加以限制,比如說x軸上隻繪制從0到20的數據,y也隻繪制0到10的數據的話,則可以直接使用xlim和ylim來進行指定,指定的參數應當為向量(這個是R語言當中的規定)。

重新編寫的代碼如下所示:

> hist(h,xlab = "number'scale",ylab="Right",col="blue",border = "red",xlim=c(0,20),ylim=c(0,10))

出來的圖像如下所示:

 這就是繪制直方圖當中所有的內容瞭,它也是R語言當中繪圖最簡單的一個。

知識點擴展:R語言作圖——histogram(直方圖)

最近小仙同學很是煩惱,本以為自己已經掌握瞭ggplot2作圖的語法,用read.csv(), ggplot()+geom_point()/boxplot()/violinplot()…就可以畫遍天下圖表,結果卻發現到真正畫圖的時候,還是會出現不少的小問題

在這裡插入圖片描述

比如小仙最近要畫一個直方圖,最開始用hist()函數試瞭一下,看瞭下形狀, 好像因為數據取值范圍跨度太大(最大值104,724,最小值30),這個圖畫出來有點醜,於是決定用ggplot美化一下。

在這裡插入圖片描述

調整之後好看是好看瞭,但是大傢有沒有看出什麼不對的地方,明明bins=10但是隻畫出8個格子,之後調整bins的值,每次都會比我指定的值少2個格子。而且,圖中第一個格子(取值范圍0-1250)應該有700多個數據,但是圖上顯示隻有不到300個,問題出在哪裡呢?小仙同學百思不得其解。在geom_histogram()函數中,bins就是用來指定分組數目(格子),為什麼總是會少兩個?

在這裡插入圖片描述

小仙同學考慮到自己能力有限,決定量力而行,另辟蹊徑。

於是設置另外一個參數breaks,終於找回瞭丟失的格子

在這裡插入圖片描述

經過此事,小仙同學深刻認識到瞭自己的有限水平,哈哈。不過還是分享一下,希望能幫助到大傢。實際的數據可真是比書上的例子難處理呢。

按照慣例寫一下整個作圖的過程

Step1. 繪圖數據的準備

首先要把你想要繪圖的數據調整成R語言可以識別的格式,建議大傢在excel中保存成csv格式。

在這裡插入圖片描述

Step2. 繪圖數據的讀取

data<-read.csv(“your file path”, header = T)
#註釋:header=T表示數據中的第一行是列名,如果沒有列名就用header=F

Step3.繪圖所需package的安裝、調用

library(ggplot2)
#註釋:package使用之前需要調用

Step4.繪圖

p<-ggplot(data, aes(x=data$銷量)) +
geom_histogram(breaks=seq(0,10000,1000))+ xlim(0,10000)
p

在這裡插入圖片描述

到此這篇關於R語言作圖之直方圖histogram詳解的文章就介紹到這瞭,更多相關R語言直方圖內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: