「ggplot2」的起手式------qplot函數
"ggplot2"這個包的強大之處,相信大家已經有所耳聞,對於剛接觸"ggolot2"朋友可能有些不太好了解這個包使用情況,況且《R in Action》對於基礎比較薄弱的我來說有點unfriedly,個人這麼覺得,現在把個人一些學習筆記整理如下,供大家參考。
至於如何載入安裝這個包不做描述了。
qplot函數
因為ggplot2有一套自己的語法,如果覺得學習坡度有點陡峭,建議先從ggplot包中的qpolt函數起手。 qplot即quick plot,快速作圖,快速對數據做可視化展示,它的語法和R base包的語法是一樣的。
載入qgplot
library(ggplot2)
散點圖
1.簡單的散點圖(利用color分類,不同顏色的鑽石由不同顏色的點代表)
#取100個數據dsmall=diamonds[sample(nrow(diamonds), 100),]
qplot(carat, price, colour= color,data =dsmall )
#diamonds為ggplot裡面的內置數據。
2.簡單的散點圖(利用shape分類,不同的切割方式由不同形狀的點代表)
qplot(carat, price,shape=cutdata=dsmall)
繪製不同類型的圖表:geom參數
nqplot(x,y,data=data,geom="")中的geom=""用來控制輸出的圖形類型 n
兩變數圖 nn (1) geom="points",默認參數,繪製散點圖(x,y) nn (2) geom="smooth" 繪製平滑曲線(基於loess, gam, lm ,rlm,glm) nn (3) geom="boxplot" 繪製箱線圖 ,當x為屬性變數(factor),y為數值變數時 nn 單變數圖 nn (4) geom="histogram",直方圖 nn (5) geom="density",核密度估計圖 nn (6) geom="bar",條形圖barchart nn時間序列 nn
(7) geom="line",折線圖,可用於時間序列(當x=date) nn (8) geom="path",路徑圖同時繪製散點圖+平滑直線
PS:這個例子只能這麼組合了
qplot(carat, price,shape=cutdata=dsmall,geom=c(points,smooth))
由圖可知,平滑曲線並不理想調整平滑曲線參數:method = "loess", 默認平滑演算法, 通過span=調整窗寬, span=0(波動) 到 span=1(光滑)
qplot(carat, price, data = dsmall,method = "loess",span=0.2, geom = c("point", "smooth"))
method = "gam": GAM 在大數據時比loess高效,需要載入 mgcv 包library(mgcv)qplot(carat, price, data = dsmall, geom = c("point", "smooth"), method="gam", formula = y ~ s(x)) method="lm", 線性平滑qplot(carat, price, data = dsmall, geom = c("point", "smooth"), method = "lm")繪製箱型圖:
qplot(color,price/carat,data = dsmall,geom= "boxplot")
"boxplot" 繪製箱線圖 ,當x為屬性變數(factor),y為數值變數,切記!
單變數,直方圖qplot(price, data = diamonds, geom = "histogram")
單變數,核密度估計圖qplot(carat, data = diamonds, geom = "density")
用顏色區別不同類型的密度曲線
qplot(carat,data = diamonds, geom = "density",colour=color)
條形圖(柱狀圖)qplot(color,price,geom="bar")
加權qplot(color, data = diamonds, geom = "bar", weight = carat) Time-serieseconomics為內置數據
path plot
顏色按年份由淺到深畫出變化趨勢
先自定義函數year(),將字元串格式的時間轉化為年
year = function(x) as.POSIXlt(x)$year + 1900 #繪製1900年以後的數據信息
qplot(unemploy / pop, uempmed, data = economics,geom = "path", colour = year(date))
qplot(carat, data = diamonds,
facets = binwidth = 0.1, xlim = c(0, 3))
ggplot包對於數據展示十分強大,這裡我我們只是用來ggplot裡面較為簡單的一個繪圖函數,qplot裡面的語法也相對較為簡單,大家也相對容易接受!
推薦閱讀:
※王寶強事件的數據分析
※初創公司如何打造百萬級用戶產品?Teambition 的 Growth Hacking Ways
※Python數據分析及可視化實例之銀行信用卡違約預測(24)
※用quantmod包分析股票
TAG:数据分析 |