在「R作圖」專輯中,我們將向大家介紹常見圖形的R作圖方法以及對應代碼解釋,幫助大家輕鬆理解和學習R作圖技巧。
在這裡,我們將詳細描述一個R作圖軟體包lattice,它可以繪製各種我們之前提到的圖形,並且可以對這些基本圖形進行改進,從而在它們基礎上繪製出更加複雜的圖形。
install.packages("lattice")library("lattice")
功能
描述
xyplot()
散點圖
splom()
散點圖矩陣
cloud()
3D散點圖
stripplot()
帶狀圖(一維散點圖)
bwplot()
箱形圖
dotplot()
點圖
barchart()
條形圖
histogram()
直方圖
densityplot()
密度圖
qqmath()
理論分位數圖
qq()
兩樣本分位數圖,QQ圖
contourplot()
3D等高線圖
levelplot()
表面色階圖
parallel()
平行坐標圖
wireframe()
3D線框圖
其他函數(ecdfplot()和mapplot())在gridExtra包中可用。
·R函數:R函數xyplot()用於生成雙變量散點圖或時間序列圖。簡化格式如下:
data(iris)
my_data<-irishead(my_data)
輸出結果
Sepal.LengthSepal.Width Petal.Length Petal.Width Species 1 5.1 3.5 1.4 0.2 setosa 2 4.9 3.0 1.4 0.2 setosa 3 4.7 3.2 1.3 0.2 setosa 4 4.6 3.1 1.5 0.2 setosa 5 5.0 3.6 1.4 0.2 setosa 6 5.4 3.9 1.7 0.4 setosa·基本散點圖:y〜x
xyplot(Sepal.Length~Petal.Length, data=my_data)# 根據組別分類xyplot(Sepal.Length~Petal.Length, group=Species, data=my_data,auto.key=TRUE)
xyplot(Sepal.Length~Petal.Length, data=my_data, type=c("p", "g", "smooth"), xlab="Miles/(US) gallon", ylab="Weight (1000 lbs)")
·按組繪製多個散點圖:y〜x | group
xyplot(Sepal.Length~Petal.Length|Species, group=Species,data=my_data, type=c("p", "smooth"), scales="free")
·散點3D圖:z〜x * y
cloud(Sepal.Length~Sepal.Length*Petal.Width, data= my_data)
# 根據組別分類; 顯示圖例:auto.key = TRUEcloud(Sepal.Length~Sepal.Length*Petal.Width, group=Species,data= my_data, auto.key=TRUE)
data(ToothGrowth)
ToothGrowth$dose<-as.factor(ToothGrowth$dose)head(ToothGrowth)輸出結果
len supp dose 1 4.2 VC 0.5 2 11.5 VC 0.5 3 7.3 VC 0.5 4 5.8 VC 0.5 5 6.4 VC 0.5 6 10.0 VC 0.5
bwplot(len~dose, data=ToothGrowth, xlab="Dose", ylab="Length")bwplot(len~dose, data=ToothGrowth, panel=panel.violin, xlab="Dose", ylab="Length") dotplot(len~dose, data=ToothGrowth, xlab="Dose", ylab="Length")stripplot(len~dose, data=ToothGrowth, jitter.data=TRUE, pch=19, xlab="Dose", ylab="Length")
使用其他參數布局:c(3,1)分別指定列數和行數
bwplot(len~supp|dose, data=ToothGrowth, layout=c(3, 1), xlab="Dose", ylab="Length")bwplot(len~supp|dose, data=ToothGrowth, layout=c(3, 1), panel=panel.violin, xlab="Dose", ylab="Length")dotplot(len~supp|dose, data=ToothGrowth, layout=c(3, 1), xlab="Dose", ylab="Length")stripplot(len~supp|dose, data=ToothGrowth, layout=c(3, 1), jitter.data=TRUE, xlab="Dose", ylab="Length")
densityplot(~len,data=ToothGrowth, plot.points=FALSE)histogram(~len,data=ToothGrowth, breaks=20)
densityplot(~len,groups=dose,data=ToothGrowth, plot.points=FALSE, auto.key=TRUE)
參考內容:http://www.sthda.com/english/wiki
好了,本期講解就先到這裡。小夥伴們趕緊試起來吧。在下一講中,我們將進行R作圖-多個圖形的組合排版的講解。歡迎關注,投必得學術,手把手帶您走入R語言的世界。
當然啦,R語言的掌握是在長期訓練中慢慢積累的。一個人學習太累,不妨加入「投必得學術群」,和數百位碩博一起學習。
快掃二維碼撩客服,
帶你進入投必得學術交流群,
讓我們共同進步!
↓↓↓↓