R语⾔-画柱形图barplot()函数
1.柱形图
> sales<-read.csv("citysales.csv",header=TRUE)                #读取数据
> barplot(sales$ProductA,names.arg=sales$City,                #设置Y轴,X轴
+col="black")                                                #设置颜⾊
结果如下图:
2.⽔平柱形图
> sales<-read.csv("citysales.csv",header=TRUE)                #读取数据
> barplot(sales$ProductA,names.arg=sales$City,                #设置Y轴,X轴
+ horiz=TRUE,                                                  #绘制⽔平柱形图
+ col="black")                                                #设置颜⾊
结果如下图:
3.彩⾊柱形图
> sales<-read.csv("citysales.csv",header=TRUE)
> barplot(as.matrix(sales[,2:4]),              #选择sales数据集的2-4列,形成矩阵
+ beside=TRUE,                                  #不是堆叠效果
+ legend=sales$City,                            #设置样例
+ lors(5),                          #⽣成颜⾊
+ border="white")                              #边框为⽩⾊
结果如下图:
4.百分⽐堆叠柱形图
> library(RColorBrewer)
> citysalesperc<-read.csv("citysalesperc.csv")
> par(mar=c(5,4,4,8),xpd=T)                      #xpd设置画图界限
> barplot(as.matrix(citysalesperc[,2:4]),
+ col=brewer.pal(5,"Set1"),border="white",
+ ylab="Sales Revenue (1,000's of USD)",
+ main="Percentage Sales Figures")
> legend("right",legend=citysalesperc$City,
+ bty="n",
+ inset=c(-0.3,0),fill=brewer.pal(5,"Set1"))      #inset设置图例距边缘的位置
5.调整柱形图的宽度,间隔和颜⾊
> citysales<-read.csv("citysales.csv")
> barplot(as.matrix(citysales[,2:4]),
+ beside=TRUE,
+ =citysales$City,                                #barplot函数内设置图例名称
+ args.legend=list(bty="n",horiz=T),                        #barplot函数内设置图例样式
+ col=c("#E5562A","#491A5B","#8C6CA8","#BD1B8A","#7CB6E4"),  #调整颜⾊
+ border=FALSE,
+ space=c(0,5),                                              #space=c(a,b)a调整每条之间的距离,b调整每组之间的距离+ ylim=c(0,100),ylab="Sales Revenue(1,000's of USD)",
+ main="Sales Figures")
6.柱形图数据标注
> y<-barplot(as.matrix(citysales[,2:4]),
+ beside=TRUE,horiz=TRUE,                                #⽔平不堆叠柱形图
+ =citysales$City,args.legend=list(bty="n"),
+ col=brewer.pal(5,"Set1"),border="white",
+ xlim=c(0,100),xlab="Sales Revenue(1,000's of USD)",
+ main="Sales Figures")
> x<-as.matrix(citysales[,2:4])
> text(x+2,y,labels=as.character(x))                      #标注数据
> rain<-read.csv("cityrain.csv")
> y<-barplot(as.matrix(rain[1,-1]),                              #取除了第⼀列的第⼀⾏数据
+ horiz=T,col="white",
+ yaxt="n",main=" Rainfall in January",xlab="Rainfall(mm)")
> x<-0.5*rain[1,-1]                                              #设置X为中间位置
> text(x,y,colnames(rain[-1]))                                  #取除了第⼀列的数据的列名进⾏标注
7.柱形图误差标注
> sales<-t(as.matrix(citysales[,-1]))
> colnames(sales)<-citysales[,1]
> x<-barplot(sales,beside==rownames(sales),
+ args.legend=list(bty="n",horiz=T),
+ col=brewer.pal(3,"Set2"),border="white",ylim=c(0,100),
+ ylab="Sales Revenue (1,000's of USD)",
+ main="Sales Figures")
> arrows(x0=x,y0=sales*0.95,    #设置下端位置
+ x1=x,y1=sales*1.05,            #设置上端位置
+ angle=90,                      #设置箭头斜边和垂直线的夹⾓
+ code=3,                        #设置箭头类型
+ length=0.04,                  #设置箭头斜边的长度
htmlborder+ lwd=0.4)                      #设置箭头垂直线的宽度

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。