先給大家介紹下R語(yǔ)言入門:直方圖histogram的繪制,具體內(nèi)容如下所示:
直方圖和條形圖最大的不同則是直方圖可以用于顯示出一個(gè)數(shù)據(jù)的頻數(shù),具有統(tǒng)計(jì)的作用,我們下面來看一一看直方圖在R語(yǔ)言當(dāng)中是如何繪制的吧!
首先創(chuàng)建一系列的數(shù)據(jù):
h<-c(4,6,3,46,3,5,7,8,3,4,3,4,5)
創(chuàng)建完之后將這個(gè)數(shù)據(jù)納入到直方圖histogram的繪制函數(shù)hist()當(dāng)中,如下所示:
hist(h,xlab = "number'scale",ylab="Right",col="blue",border = "red")
其中的參數(shù)h表示我們納入進(jìn)來的數(shù)據(jù),這些數(shù)據(jù)將會(huì)在x軸上進(jìn)行標(biāo)定,xlab表示的是x軸的標(biāo)簽,ylab表示的是y軸的標(biāo)簽,col表示的是直方圖的顏色,border表示的是直方圖邊緣的顏色,繪制的結(jié)果如下所示:
如果想要對(duì)繪制的數(shù)據(jù)加以限制,比如說x軸上只繪制從0到20的數(shù)據(jù),y也只繪制0到10的數(shù)據(jù)的話,則可以直接使用xlim和ylim來進(jìn)行指定,指定的參數(shù)應(yīng)當(dāng)為向量(這個(gè)是R語(yǔ)言當(dāng)中的規(guī)定)。
重新編寫的代碼如下所示:
> hist(h,xlab = "number'scale",ylab="Right",col="blue",border = "red",xlim=c(0,20),ylim=c(0,10))
出來的圖像如下所示:
這就是繪制直方圖當(dāng)中所有的內(nèi)容了,它也是R語(yǔ)言當(dāng)中繪圖最簡(jiǎn)單的一個(gè)。
知識(shí)點(diǎn)擴(kuò)展:R語(yǔ)言作圖——histogram(直方圖)
最近小仙同學(xué)很是煩惱,本以為自己已經(jīng)掌握了ggplot2作圖的語(yǔ)法,用read.csv(), ggplot()+geom_point()/boxplot()/violinplot()…就可以畫遍天下圖表,結(jié)果卻發(fā)現(xiàn)到真正畫圖的時(shí)候,還是會(huì)出現(xiàn)不少的小問題。
比如小仙最近要畫一個(gè)直方圖,最開始用hist()函數(shù)試了一下,看了下形狀, 好像因?yàn)?strong>數(shù)據(jù)取值范圍跨度太大(最大值104,724,最小值30),這個(gè)圖畫出來有點(diǎn)丑,于是決定用ggplot美化一下。
調(diào)整之后好看是好看了,但是大家有沒有看出什么不對(duì)的地方,明明bins=10但是只畫出8個(gè)格子,之后調(diào)整bins的值,每次都會(huì)比我指定的值少2個(gè)格子。而且,圖中第一個(gè)格子(取值范圍0-1250)應(yīng)該有700多個(gè)數(shù)據(jù),但是圖上顯示只有不到300個(gè),問題出在哪里呢?小仙同學(xué)百思不得其解。在geom_histogram()函數(shù)中,bins就是用來指定分組數(shù)目(格子),為什么總是會(huì)少兩個(gè)?
小仙同學(xué)考慮到自己能力有限,決定量力而行,另辟蹊徑。
于是設(shè)置另外一個(gè)參數(shù)breaks,終于找回了丟失的格子
經(jīng)過此事,小仙同學(xué)深刻認(rèn)識(shí)到了自己的有限水平,哈哈。不過還是分享一下,希望能幫助到大家。實(shí)際的數(shù)據(jù)可真是比書上的例子難處理呢。
按照慣例寫一下整個(gè)作圖的過程。
Step1. 繪圖數(shù)據(jù)的準(zhǔn)備
首先要把你想要繪圖的數(shù)據(jù)調(diào)整成R語(yǔ)言可以識(shí)別的格式,建議大家在excel中保存成csv格式。
Step2. 繪圖數(shù)據(jù)的讀取
data<-read.csv(“your file path”, header = T)
#注釋:header=T表示數(shù)據(jù)中的第一行是列名,如果沒有列名就用header=F
Step3.繪圖所需package的安裝、調(diào)用
library(ggplot2)
#注釋:package使用之前需要調(diào)用
Step4.繪圖
p<-ggplot(data, aes(x=data$銷量)) +
geom_histogram(breaks=seq(0,10000,1000))+ xlim(0,10000)
p
到此這篇關(guān)于R語(yǔ)言作圖之直方圖histogram詳解的文章就介紹到這了,更多相關(guān)R語(yǔ)言直方圖內(nèi)容請(qǐng)搜索html5模板網(wǎng)以前的文章希望大家以后多多支持html5模板網(wǎng)!