1.直方圖
直方圖和柱形圖的區別:直方圖表示頻數,柱形圖表示數量。
一般直方圖的X軸表示取值范圍,Y軸表示頻數
hist() 函數
> hist(rnorm(1000)) #1000個正態隨機數的直方圖
> hist(islands) #島嶼數據集直方圖

2.概率密度直方圖
> air<-read.csv("airpollution.csv")
> hist(air$Nitrogen.Oxides,
+ freq=FALSE, #不顯示頻數,顯示概率
+ xlab="Nitrogen Oxide Concentrations",
+ main="Distribution of Nitrogen Oxide Concentrations")

3.調整直方圖范圍密度
> hist(air$Nitrogen.Oxides, + breaks=20, #設置范圍數 + xlab="Nitrogen Oxide Concentrations", + main="Distribution of Nitrogen Oxide Concentrations")

> hist(air$Nitrogen.Oxides, + breaks=c(0,100,200,300,400,500,600), #指定范圍 + xlab="Nitrogen Oxide Concentrations", + main="Distribution of Nitrogen Oxide Concentrations")

4.直方圖美化
①顏色美化
> hist(air$Respirable.Particles, + prob=TRUE, #縱坐標軸顯示概率而不是頻數 + col="black", + border="white", xlab="Respirable Particle Concentrations", + main="Distribution of Respirable Particle Concentrations")

②線條美化
> par(yaxs="i",las=1) > hist(air$Respirable.Particles, prob=TRUE, + col="black",border="white", + xlab="Respirable Particle Concentrations", + main="Distribution of Respirable Particle Concentrations") > box(bty="l") #設置坐標軸樣式 > grid(nx=NA,ny=NULL, #X軸沒有線條,Y軸自動計算線條位置 + lty=1,lwd=1,col="gray") #設置線條的樣式、寬度和顏色

5.標識密度函數Density()函數
> par(yaxs="i",las=1) > hist(air$Respirable.Particles, + prob=TRUE,col="black",border="white", + xlab="Respirable Particle Concentrations", + main="Distribution of Respirable Particle Concentrations") + box(bty="l") > lines(density(air$Respirable.Particles,na.rm=T), #density()作密度函數 + col="red",lwd=4) > grid(nx=NA,ny=NULL,lty=1,lwd=1,col=" gray")

6.散點圖+直方圖
> panel.hist <- function(x, ...)
+ {
+ par(usr = c(par("usr")[1:2], 0, 1.5) )
+ hist(x,
+ prob=TRUE,
+ add=TRUE,col="bla ck",border="white")
+ }
> plot(iris[,1:4],
+ main="Relationships between characteristics of iris flowers",
+ pch=19,col="blue",cex=0.9,
+ diag.panel=panel.hist) #對角線畫直方圖

> layout(matrix(c(2,0,1,3),2,2,byrow=TRUE), + widths=c(3,1), heights=c(1,3), TRUE) > par(mar=c(5.1,4.1,0.1,0)) #畫散點圖 > plot(air$Respirable.Particles~air$Nitrogen.Oxides, pch=19,col="black", xlim=c(0,600),ylim=c(0,80), + xlab="Nitrogen Oxides Concentrations", + ylab="Respirable Particle Concentrations") > par(mar=c(0,4.1,3,0)) #畫上方的直方圖 > hist(air$Nitrogen.Oxides, breaks=seq(0,600,100), + ann=FALSE,axes=FALSE, #無注釋,無坐標軸 + col="black",border="white") > yhist <- hist(air$Respirable.Particles, + breaks=seq(0,80,10),plot=FALSE) > par(mar=c(5.1,0,0.1,1)) #畫右邊的直方圖 > barplot(yhist$density, horiz=TRUE, + space=0,axes=FALSE, + col="black",border="white")

