最近小仙同學很是煩惱,本以為自己已經掌握了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語言 直方圖內容請搜索html5模板網以前的文章希望大家以后多多支持html5模板網!
【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!