1. 程式人生 > >R語言繪圖--基礎圖形

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 RangeIQR)。

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")