简介
条形图或柱状图的用处非常广泛,直方图,频数图都是条形图的一种,在R语言有很多函数可以等价地实现同样的效果。
基础作图中的实现
x=(1:5)^2
barplot(x)
ggplot2包的实现
利用geom_col()实现
library(ggplot2)
df=data.frame(y=(1:5)^2,x=1:5)
ggplot(data=df)+geom_col(aes(y=y,x=x))
利用geom_bar()实现
注意这里利用了stat
library(ggplot2)
df=data.frame(y=(1:5)^2,x=1:5)
ggplot(data=df)+geom_bar(stat='identity',aes(y=y,x=x))
利用geom_histogram()实现
注意这里利用了stat
library(ggplot2)
df=data.frame(y=(1:5)^2,x=1:5)
ggplot(data=df)+geom_histogram(stat='identity',aes(y=y,x=x))
多对象柱状图的实现
利用barplot()
df=data.frame(y=(1:6)^2,x=1:6,id=c(1,1,1,2,2,2))
barplot(y~x+id,data=df)
df=data.frame(y=(1:6)^2,x=1:6,id=c(1,1,1,2,2,2))
barplot(y~x+id,data=df,beside = TRUE)
利用ggplot2包
geom_bar()中的position函数可以很好的实现这一效果, 同样的geom_col,geom_histogram也可以实现这一效果。
library(ggplot2)
df=data.frame(y=(1:6)^2,x=1:6,id=c(1,1,1,2,2,2))
ggplot(data=df)+geom_bar(stat='identity',aes(y=y,fill=factor(x),x=id),position = 'stack')+scale_fill_brewer(palette ='PRGn')
library(ggplot2)
df=data.frame(y=(1:6)^2,x=1:6,id=c(1,1,1,2,2,2))
ggplot(data=df)+geom_bar(stat='identity',aes(y=y,fill=factor(x),x=id),position = 'dodge')+scale_fill_brewer(palette ='PRGn')