R語言繪圖--基礎圖形
柱狀圖:
##利用ggplot2包
library(ggplot2)
with(mpg,table(class,year))
p <- ggplot(data=mpg,aes(x=class,fill=factor(year)))
p + geom_bar(position='dodge')
#dodge將不同年份資料並列放置
p + geom_bar(position='stack') #stack將不同年份資料堆疊放置,預設處理方式
p + geom_bar(position='fill') #展示方式與stack類似,但Y軸不再是計數,而是百分比顯示
p + geom_bar(position='identity',alpha=0.3) #identity不做任何改變直接顯示,需要設定透明度才可看得清
散點圖:
library(ggplot2)
p <- ggplot(mpg, aes(cty, hwy))
p1 <- p + geom_point(aes(colour = factor(year),shape = factor(year), size = displ), alpha = 0.6)
print(p1)
餅圖:
slices<-c(10,12,4,16,8)
lbls
<-c('US','UK','Australia','Germany','France')pie(slices,labels = lbls,main='Simple Pie Chart')
直方圖:
在x軸將值域分割為一定數量的組,在Y軸顯示相應值的頻數,展示了連續型變數的分佈
Freq = T, 縱軸為頻數
Freq = F, 縱軸為密度
hist(mtcars$mpg,freq=F,breaks=12,col='red',xlab = 'Miles Per Gallon',main = 'Colored histogram with 12 bins')
hist(mtcars$mpg,freq=T,breaks=12,col='red',xlab = 'Miles Per Gallon',main = 'Colored histogram with 12 bins')
密度曲線圖:
在頻率分佈直方圖中,當樣本容量充分放大時,圖中的組距就會充分縮短,這時圖中的階梯折線就會演變成一條光滑的曲線,這條曲線就稱為總體的密度分佈曲線。
d<-density(mtcars$mpg)
plot(d,main='Kernel Density of Miles Per Gallon')
箱線圖:
箱線圖需要用到統計學的四分位數(Quartile)的概念,所謂四分位數,就是把組中所有資料由小到大排列並分成四等份,處於三個分割點位置的數字就是四分位數。第一四分位數(Q1),又稱“較小四分位數”或“下四分位數”,等於該樣本中所有數值由小到大排列後第25%的數字。第二四分位數(Q2),又稱“中位數”,等於該樣本中所有數值由小到大排列後第50%的數字。第三四分位數(Q3),又稱“較大四分位數”或“上四分位數”,等於該樣本中所有數值由小到大排列後第75%的數字。第三四分位數與第一四分位數的差距又稱四分位間距(InterQuartile Range,IQR)。
boxplot(mpg~cyl,data = mtcars,main='Car Mileage Data',xlab='Number of Cylinders',ylab='Miles Per Gallon')
violet圖:
小提琴圖中的白色的點表示中位數,黑色的框表示IQR,細黑線表示須,小提琴的胖瘦表示分佈密度。
library(vioplot)
x1 <- mtcars$mpg[cyl==4]
x2 <- mtcars$mpg[cyl==6]
x3 <- mtcars$mpg[cyl==8]
vioplot(x1,x2,x3,names=c("4 Cylinders","6 Cylinders","8 Cylinders"),col="gold")
title("Violin Plot of MPG by Number of Cylinders")