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, #设置样例
+ col=heat.colors(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,
+ legend.text=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, #水平不堆叠柱形图
+ legend.text=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=T,legend.text=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, #设置箭头斜边的长度
+ lwd=0.4) #设置箭头垂直线的宽度

R语言-画柱形图的更多相关文章

  1. R语言画棒状图(bar chart)和误差棒(error bar)

    假设我们现在有CC,CG,GG三种基因型及三种基因型对应的表型,我们现在想要画出不同的基因型对应表型的棒状图及误差棒.整个命令最重要的就是最后一句了,用arrows函数画误差棒.用到的R语言如下: d ...

  2. R语言画点状误差线

    现在项目需要R语言做几个线性拟合,画一些点图,突然需要画误差线,网上找了下,可以用代码实现..效果如下 xx1<-c(xxxxxx,xxxx,xxxxx) yy1<-c(xxxxxx,xx ...

  3. R语言-画线图

    R语言分高水平作图函数和低水平作图函数 高水平作图函数:可以独立绘图,例如plot() 低水平作图函数:必须先运行高水平作图函数绘图,然后再加画在已有的图上面 第一种方法:plot()函数 > ...

  4. R语言画全基因组关联分析中的曼哈顿图(manhattan plot)

    1.在linux中安装好R 2.准备好画曼哈顿图的R脚本即manhattan.r,manhattan.r内容如下: #!/usr/bin/Rscript #example : Rscript plot ...

  5. R语言-画散点图

    plot()函数 plot(cars$dist~cars$speed,           # y~x main="XXX",                            ...

  6. R语言画曲线图

    本文以1950年到2010年期间我国的火灾统计数据为例,数据如下所示: (0)加载数据 data<-read.csv("E:\\MyDocument\\p\\Data\\1950~20 ...

  7. 用R语言 画条形图(基于ggplot2包)

    1.用qplot(x,data=data,geom.=”bar”,weight=y)+scale_y_continuous("y")画出y关于x的条形. 图中提示binwidth这 ...

  8. R语言画云字图

    install.packages('wordcloud') library(wordcloud) colors=c('red','blue','green','yellow','purple') da ...

  9. R语言画正弦曲线

    正弦曲线一个周期是2π,我们要先生成x的取值范围. 可以用seq函数生成一个等差序列,步进为0.01 x=seq( 0,  2*pi,  0.01 )   pi表示π y=sin(x) plot(x, ...

随机推荐

  1. c#linq去除重复项并将相同数据的数量字段值相加

    这是执行前和执行后想要的效果 以下是用Sql语句实现的代码: select goodsno, goodsspec,SUM([count]) as count from goods group by g ...

  2. Java捕获异常的问题

    ---恢复内容开始--- 在Java编译过程中,有时候会出现输入未按照规定输入的情况,此时需要警告用户输入错误,这就会是程序运行过程中出现异常.异常就是可预测但是又没办法消除的一种错误.所以在编写过程 ...

  3. join,fromkeys(),深浅拷贝

    1. 补充基础数据类型的相关知识点 1. str. join() 把列表变成字符串例 # s= "哈哈"# s1=s.join('-')# print(s1)# s="呵 ...

  4. 十年阿里java架构师的六大设计原则和项目经验

      先看一幅图吧: 这幅图清晰地表达了六大设计原则,但仅限于它们叫什么名字而已,它们具体是什么意思呢?下面我将从原文.译文.理解.应用,这四个方面分别进行阐述. 1.单一职责原则(Single Res ...

  5. (转)3款优秀的移动webAPP网站在线测试工具

    原文:原文地址 目前适配各个终端的需求越来越强烈呢?比如我们APP项目上线之后,需要一个宣传推广专题页,这个页面当然最好是采取响应式布局来完成.因为需要来推广和下载我们的APP. 无论用户是电脑打开, ...

  6. months_between

    select months_between(to_date('2016.01.29','yyyy.mm.dd'), to_date('2016.02.29','yyyy.mm.dd'))  from ...

  7. sql zhuan ORACLE

    DbType   OracleType SqlDatabase OracleDatabase SqlParam.cs SqlServerHelper.cs InsertByHashtableRetur ...

  8. python ftp文件夹文件递归上传推送

  9. 22.天眼查cookie模拟登陆采集数据

    通过账号登录获取cookies,模拟登录(前提有天眼查账号),会员账号可查看5000家,普通只是100家,同时也要设置一定的反爬措施以防账号被封.拿有权限的账号去获取cookies,去访问页面信息,不 ...

  10. Maven运行的方式

    1.运行父工程(父工程将各个子模块聚合到一起) 2.直接运行子模块(Web工程)