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年春节假日酒旅市场分析报告
小冰冰传奇怀旧服玩法攻略解析
胃,你好吗?——认识胃溃疡的预防与护理
《生命3.0》:人工智能时代的生命进化之路
金戈铁马的辛弃疾,22岁独闯敌营擒拿叛贼,为何一生都被授予文职
文房四寶:中華文化的瑰寶
水滴石穿:坚守与毅力的力量
重庆民主村:老社区蝶变新网红
UBC 学生创新环保竹制外卖容器
易经风水知识,民俗文化中的结婚选日子方法
掌握GTD时间管理的五个关键步骤
港媒:苹果芯片专家回国执教,华人芯片专家的回归意味着什么?
信息爆炸时代:机遇与挑战并存的生活方式变革
防水材料发展史:从古代到现代的技术革新
气候与健康,关系有多大
东南大学现存最古老建筑文物:孟芳图书馆前螭首
全球GDP排名大变动!中国失去第二?
声发射检测 - 2024年深入指南
转动惯量的物理意义 转动惯量的影响因素是什么
辽宁大连:潮涌千帆竞 发展势如虹
为什么一壶咖啡要用不同的温度冲?三温暖变温冲煮是什么?手冲咖啡的水温要用多少度?
婴儿吐奶的应对与处理:宝爸宝妈的育儿智慧
电子具有波粒二象性,那么它到底是粒子还是波?
缓刑期间太“任性” 收监执行进“高墙”
深圳累计为灵活就业人员发放住房公积金贷款17.71亿元
千年古城焕发传统与现代双重光芒
如何选择适合自己的橄榄油
创新药物竞赛:医药市场BD交易竞争加剧 药企打响市场争夺战
《老友记》在MBTI中莫妮卡·盖勒是ESFJ吗
年轻人的关节炎应该如何识别和处理