当前位置: 首页 > news >正文

R 语言学习教程,从入门到精通,R 绘图饼图(23)

1、R 绘图 条形图

条形图,也称为柱状图条形图,是一种以长方形的长度为变量的统计图表。
条形图可以是水平或垂直的,每个长方形可以有不同的颜色。
R 语言使用 barplot() 函数来创建条形图,格式如下:

barplot(H,xlab,ylab,main, names.arg,col,beside)

参数说明:
H 向量或矩阵,包含图表用的数字值,每个数值表示矩形条的高度。
xlab x 轴标签。
ylab y 轴标签。
main 图表标题。
names.arg 每个矩形条的名称。
col 每个矩形条的颜色。
接下来我们创建一个简单的条形图:

# 准备一个向量
cvd19 = c(83534,2640626,585493)
# 显示条形图
barplot(cvd19)

执行绘图程序,会在当前目录下生存一个 PDF 文件(Rplots.pdf),打开文件可以看到图形效果如下:
在这里插入图片描述
为了更好地表达信息,我们可以在图表上添加标题、颜色及每个矩形条的名称。
以下我们创建 2020 年 7 月 1 日中国、美国和印度的新冠疫情确诊人数统计图。
中文字体需要设置字体参数 family=‘GB1’:

cvd19 = c(83534,2640626,585493)barplot(cvd19,main="新冠疫情条形图",col=c("#ED1C24","#22B14C","#FFC90E"),names.arg=c("中国","美国","印度"),family='GB1'
)

在这里插入图片描述

barplot 中的数据既可以是向量,也可以是矩阵,现在我们生成一张新冠疫情 6 月和 7 月对比图。

首先准备数据:
在这里插入图片描述
转换成矩阵,生成条形图,按并排格式显示,而且要显示颜色样本。
这里我们设置了自己的字体库,详细内容可以参考 R 绘图 - 中文支持

library(showtext);
font_add("SyHei", "SourceHanSansSC-Bold.otf");
cvd19 = matrix(c(83017, 83534, 1794546, 2640626, 190535, 585493),2, 3
)
# 设置文件名,输出为 png
png(file = "nhooo-bar-1.png")#加载字体
showtext_begin();
colnames(cvd19) = c("中国", "美国", "印度")
rownames(cvd19) = c("6月", "7月")
barplot(cvd19, main = "新冠疫情条形图", beside=TRUE, legend=TRUE,  family='SyHei')
# 去掉字体
showtext_end();

以下代码会在当前程序目录下生存一个 nhooo-bar-1.png 文件,如下所示:

在这里插入图片描述
我们设置的颜色样本将是每各组的颜色样本:

library(plotrix)
library(showtext);
font_add("SyHei", "SourceHanSansSC-Bold.otf");
cvd19 = matrix(c(83017, 83534, 1794546, 2640626, 190535, 585493),2, 3
)# 设置文件名,输出为 png
png(file = "nhooo-bar-2.png")
#加载字体
showtext_begin();
colnames(cvd19) = c("中国", "美国", "印度")
rownames(cvd19) = c("6月", "7月")barplot(cvd19, main = "新冠疫情条形图", beside=TRUE, legend=TRUE,col=c("blue","green"),  family='SyHei')
# 去掉字体
showtext_end();

以下代码会在当前程序目录下生存一个 nhooo-bar-2.png 文件,如下所示:
在这里插入图片描述
beside 参数
beside 设置矩形条堆叠的方式,默认为 FALSE:
beside=FALSE 时,条形图的高度是矩阵的数值,矩形条是水平堆叠的。
beside=TRUE 时,条形图的高度是矩阵的数值,矩形条是并列的。

library(showtext);
font_add("SyHei", "SourceHanSansSC-Bold.otf");
cvd19 = matrix(c(83017, 83534, 1794546, 2640626, 190535, 585493),2, 3
)# 设置文件名,输出为 png
png(file = "nhooo-bar-3.png")
#加载字体
showtext_begin();
colnames(cvd19) = c("中国", "美国", "印度")
rownames(cvd19) = c("6月", "7月")barplot(cvd19, main = "新冠疫情条形图", beside=FALSE, legend=TRUE,col=c("blue","green"),  family='SyHei')
# 去掉字体
showtext_end();

以下代码会在当前程序目录下生存一个 nhooo-bar-3.png 文件,如下所示:
在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Flink 1.14.* Flink窗口创建和窗口计算源码
  • 链动2+1与消费增值模式的协同效应
  • NestJs bull 用法
  • Linux驱动开发基础(sr04超声波模块)
  • 算法day16|654.最大二叉树、617.合并二叉树、700.二叉搜索树中的搜索、98.验证二叉搜索树
  • filezilla使用教程(window下filezilla使用教程)
  • 梧桐数据库(WuTongDB):什么是“顺序扫描”
  • [GESP202312 四级] 田忌赛马
  • 今日算法:蓝桥杯基础题之“星系炸弹”
  • 掌握 Python列表:从基础到进阶技巧
  • FutureTask通常如何使用?
  • Ethercat设备数据 转IEC61850项目案例
  • django学生就业管理系统—计算机毕业设计源码24237
  • ★ 算法OJ题 ★ 力扣11 - 盛水最多的容器
  • qtlinux
  • Google 是如何开发 Web 框架的
  • export和import的用法总结
  • Fabric架构演变之路
  • Mysql数据库的条件查询语句
  • 分布式熔断降级平台aegis
  • 配置 PM2 实现代码自动发布
  • 浅谈web中前端模板引擎的使用
  • 使用SAX解析XML
  • 栈实现走出迷宫(C++)
  • AI又要和人类“对打”,Deepmind宣布《星战Ⅱ》即将开始 ...
  • ​ 全球云科技基础设施:亚马逊云科技的海外服务器网络如何演进
  • ​Java并发新构件之Exchanger
  • # Swust 12th acm 邀请赛# [ K ] 三角形判定 [题解]
  • #【QT 5 调试软件后,发布相关:软件生成exe文件 + 文件打包】
  • #etcd#安装时出错
  • #免费 苹果M系芯片Macbook电脑MacOS使用Bash脚本写入(读写)NTFS硬盘教程
  • $().each和$.each的区别
  • (06)Hive——正则表达式
  • (php伪随机数生成)[GWCTF 2019]枯燥的抽奖
  • (超简单)使用vuepress搭建自己的博客并部署到github pages上
  • (附源码)ssm失物招领系统 毕业设计 182317
  • (六)库存超卖案例实战——使用mysql分布式锁解决“超卖”问题
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理 第13章 项目资源管理(七)
  • (一)appium-desktop定位元素原理
  • (转)负载均衡,回话保持,cookie
  • (转载)VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)
  • ****三次握手和四次挥手
  • .NET Micro Framework 4.2 beta 源码探析
  • .net 反编译_.net反编译的相关问题
  • .NET 回调、接口回调、 委托
  • .net 逐行读取大文本文件_如何使用 Java 灵活读取 Excel 内容 ?
  • .net(C#)中String.Format如何使用
  • .NET8.0 AOT 经验分享 FreeSql/FreeRedis/FreeScheduler 均已通过测试
  • .Net高阶异常处理第二篇~~ dump进阶之MiniDumpWriter
  • .NET框架设计—常被忽视的C#设计技巧
  • .net流程开发平台的一些难点(1)
  • @JsonFormat 和 @DateTimeFormat 的区别
  • [ Linux ] Linux信号概述 信号的产生
  • [.NET]桃源网络硬盘 v7.4
  • [\u4e00-\u9fa5] //匹配中文字符