R语言基于表格文件的数据绘制具有多个系列的柱状图与直方图
创作时间:
作者:
@小白创作中心
R语言基于表格文件的数据绘制具有多个系列的柱状图与直方图
引用
1
来源
1.
https://www.cnblogs.com/fkxxgis/p/18315885
本文将介绍如何使用R语言中的readxl和ggplot2包来读取Excel表格文件数据,并绘制具有多个系列的柱状图和条形图。通过本文的学习,读者将掌握数据读取、数据转换以及绘图的具体步骤和代码示例。
1. 安装所需包
首先,我们需要安装readxl和ggplot2这两个包。其中,readxl包用于读取Excel表格文件数据,ggplot2包用于绘制柱状图。此外,我们还需要安装reshape2包,用于数据的长宽转换。
install.packages("readxl")
install.packages("ggplot2")
install.packages("reshape2")
2. 导入所需包
安装完成后,我们需要将这些包导入到当前的工作环境中。
library(readxl)
library(ggplot2)
library(reshape2)
3. 读取Excel数据
使用readxl包中的read_excel()函数来读取Excel表格文件数据。函数的第一个参数是文件路径,第二个参数是Sheet编号。
xlsx_file <- read_excel(r"(E:\02_Project\01_Chlorophyll\ClimateZone\Split\Result\Result.xlsx)", sheet = 2)
读入后的数据是一个tibble类别的变量,我们可以将其视作Data Frame格式数据进行后续处理。如果使用RStudio软件,可以通过双击变量来更直观地查看数据。
4. 数据转换
在数据分析和可视化中,我们往往需要将宽数据转换为长数据。这里使用reshape2包中的melt()函数来实现转换。
xlsx_data <- melt(xlsx_file, id.var = "...1")
通过指定variable.name和value.name参数,我们可以自定义转换后数据的列名。
xlsx_data <- melt(xlsx_file, id.var = "...1", variable.name = "Factor", value.name = "q")
5. 绘制柱状图
使用ggplot2包中的ggplot()函数来绘制柱状图。通过设置fill参数可以实现多系列的区分,position参数设置为"dodge"可以使不同系列的柱子平行放置。
ggplot(data = xlsx_data, mapping = aes(x = Factor, y = q, fill = ...1)) + geom_bar(stat = "identity", position = "dodge")
如果希望柱状图是横向的,可以添加coord_flip()函数。
ggplot(data = xlsx_data, mapping = aes(x = Factor, y = q, fill = ...1)) + geom_bar(stat = "identity", position = "dodge") + coord_flip()
至此,我们就完成了基于Excel表格数据的多系列柱状图绘制。关于ggplot()函数的更多高级用法,可以参考其官方帮助文档。
热门推荐
校园纠纷法律指南:老师损坏手机、没收礼物、微信布置作业怎么办?
如何通过课堂教学评价提升学习效果
早晨醒来时手指麻木如何缓解
前端知识体系详解:从基础到前后端分离演变史
原保险保费与规模保费的区别
原保险保费与规模保费的区别
比尔·盖茨首部自传揭秘他的成长往事
十大雌雄同体动物揭秘:第一能性别转换,第二自产卵孵化!
人形机器人:智能家居的未来新宠
四维空间与三维空间有什么区别,人类进入四维空间会怎么样?
黄葛树丨陈小林:璧山大刀烧白 全靠“蒸功夫”
为什么说计划工作是管理的首要职能
尿酮体高说明什么原因
藿香正气水:你的健康“万金油”
保济口服液不能和哪些药一起使用
器官捐献移植体系亟待完善
置换反应定义及分类
支持手柄的手机游戏有哪些 2024能用手柄玩的手游推荐
在什么情况下,住房公共租赁合同可以提前终止
遇到减重平台期怎么办?5招助你突破→
促甲状腺素受体抗体(TRAb):甲状腺疾病诊断与监测的重要指标
债权人优先受偿权的法律规定是什么
能减肥的蒸菜:定义、分类、举例和比较
淋巴炎与艾滋:解开两者关系的迷雾
现代办公写字楼设计与空间效率提升策略
Manus风评分化,相关概念股还能炒吗?
宽带网速对照表:快速了解您的宽带速度
宽带网速对照表:快速了解您的宽带速度
办公区规划打造高效空间布局指南
高效呼吸支持的未来:智能高频喷射通气设备的应用与潜力