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. IIS7.5和IIS8如何设置FTP的pasv端口范围

    如果不设置端口范围,在防火墙开启的情况下,连接FTP时可能出现列表错误的现象,下面介绍下如何设置FTP的pasv端口范围.. 一.首先打开IIS选择服务器会进入全局设置,再双击FTP防火墙支持 二.设 ...

  2. 由echarts想到的js中的时间类型

    在工作中使用echarts时,偶然发现折线图中对时间类型变量的用法: now前面的+号何解? now = new Date(+now + oneDay); 后来查阅资料,看到一篇博客,解释如下:这是对 ...

  3. Android 自定义TabHost,TabWidget样式

    界面比较简单,要想做得漂亮换几张图片就可以了. 第一步:先在布局(这里用了main.xml创建时自动生成的)里面放上TabHost ,只要将TabHost控件托至屏幕中就可: <?xml ver ...

  4. 《算法》BEYOND 部分程序 part 2

    ▶ 书中第六章部分程序,加上自己补充的代码,包括快速傅里叶变换,多项式表示 ● 快速傅里叶变换,需要递归 package package01; import edu.princeton.cs.algs ...

  5. 解决oracle导入未分配表空间的问题

    select 'alter table ' || t.TABLE_NAME || ' allocate extent;' from user_tables t order by t.TABLE_NAM ...

  6. python中str的索引、切片

    1 a = "hello" 2 a1 = a[1] 3 a2 = a[0:2] 4 print(a1) 5 print(a2) 我们通过索引获取字符串中指定位数的字符 通过切片获取 ...

  7. iOS基础知识之归档和解档

    归档和解档:即将数据写入文件和从文件中读取数据. 此处以plist文件为例说明, 一.plist文件使用时的注意事项: 1.plist文件中仅支持写入Array,Dictionary,Boolean, ...

  8. Centos7 下搭建SVN + Apache 服务器

    1. 安装httpd 安装httpd服务: $ sudo yum install httpd 检查httpd是否安装成功: $ httpd -version Server version: Apach ...

  9. djangobb之forum.topics

    看djangobb源代码时,看到view的show_forum(request, forum_id, full=True)时,对于topics = forum.topics.order_by('-st ...

  10. 阿里巴巴开源项目: canal

    参考:https://www.cnblogs.com/duanxz/p/5062833.html docker 部署canal :  https://blog.csdn.net/u013705066/ ...