R语言:barplot( )绘制条形图

公众号:R语言数据分析与实践

 

一   导入数据

library(readxl) #读取数据
educationdata <- read_excel("Downloads/educationdata.xlsx") #数据保存在桌面上

操作环境:MacOS 路径访问和Windows不同.Windows分为C:盘、D:盘...这些都是独立的路径. Mac系统(非M1芯片)只有一个根目录.由于系统设计不同,在读取文件时需要设置正确的路径.

二 中文设置

par(family="PingFangSC-Regular") #中文字体设置

三 barplot(  ) 绘制条形图

image <- barplot(cbind(中央部门办本科院校, 本科院校,高职专科院校) ~ 地区, data = educationdata, #导入数据,y~x,cbind决定顺序
        col=c("#003366","#0099CC","#66CCFF"),    #颜色可以使用十六进制或者名称
        space = 0.3,          #条形空隙间距
        border= "#FFFFFF",    #条形边框颜色,NA消除边框
        density=100,          #底纹,默认为NULL
        beside = FALSE,       #堆叠条形图,TRUE为并列
        horiz = TRUE,         #水平绘制
        main = "条形图绘制案例" ,  #统计图主标题
        names.arg = educationdata$地区,  #条形名字
        axisnames =TRUE,   #显示条形名称,默认TRUE
        las =1,            #较长文字,文字显示方向
        xlab = "地区",     #x轴标签
        ylab = " " ,       #y轴标签
        cex.axis =1,       #坐标轴标签放大系数
        cex.names = 0.7,    #名称标签放大系数,通常大小和条形宽度一致
        legend.text=TRUE,   #绘制图例
        )
mtext("每日一图",side=3)   #在指定区域, 边=3处书写文本

四   abline(  )绘制参考线

abline(v = 60,   col = 2, lty = 2, lwd = 2)  #v绘制垂线, col颜色
abline(v= 95, col = "orange", lty = 3, lwd = 3) #lty 线条类型, lwd线条粗细

 

五 legend(  )绘制图例 

leg.txt <- c("中央部门办本科院校","本科院校","高职专科院校")
legend("topright", legend = leg.txt,          #位置
       fill=c("#003366","#0099CC","#66CCFF"), #图例填充颜色
       text.width = strwidth("1000,000,000"), #字体占位
       cex = 0.7,         #字体大小
       border=FALSE,  #图列边框,默认TRUE
       title = "图例")  #图例标题

 

六 text(  )添加数据标注

#创建每条数据标签
#数据转换为named num类型,让每个数据与名称相对应
tot <- c(educationdata$合计)  #需要显示的数据
names(tot) <- educationdata$地区[1:31] #将名称与数据相关联,在绘制数据时与条形相对应
str(tot)   #检查tot数据类型为Named num类型
tot 
View(tot)  #检查数据类型为Named num类型,否则无法对应条形绘制数据标签
text(image,          #在已绘制的barplot上添加文本
     x=40,          #绘制位置
     format(tot),    #绘制数据 
     col = "black",    #字体颜色
     cex = 1,      #字体大小,与条形宽度一致
     family="PTSans-Caption"   #数字字体
     )

 

  • 4
    点赞
  • 76
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值