首页 > 其他分享 >跟着Environmental Research学作图:R语言ggplot2堆积柱形图叠加折线图(1)

跟着Environmental Research学作图:R语言ggplot2堆积柱形图叠加折线图(1)

时间:2023-07-19 20:36:58浏览次数:39  
标签:Group 步骤 柱形图 Research Environmental ggplot2 折线图 堆积

跟着Environmental Research学作图: R语言ggplot2堆积柱形图叠加折线图(1)

简介

在环境研究领域,数据可视化是非常重要的工具,可以帮助我们更好地理解和解释复杂的数据。本篇文章将教会你如何使用R语言中的ggplot2包创建堆积柱形图叠加折线图,以展示不同组别之间的关系和趋势。

环境设置

在开始之前,确保你已经安装了R语言和ggplot2包。如果没有安装,可以通过以下命令进行安装:

install.packages("ggplot2")

数据准备

首先,我们需要准备要使用的数据集。假设我们有一个包含不同组别(Group A和Group B)和对应数值的数据集。你可以从外部数据源导入数据,或者使用内置的数据集。在这个例子中,我们将使用内置的iris数据集。

data(iris)

步骤

下面是创建堆积柱形图叠加折线图的步骤:

步骤 代码 说明
1 library(ggplot2) 导入ggplot2包
2 ggplot(data = iris, aes(x = Species, y = Sepal.Length, fill = Group)) 创建一个ggplot对象,并指定x轴、y轴和堆积柱形图的填充颜色(根据组别)
3 geom_bar(stat = "identity", position = "stack") 添加堆积柱形图层
4 geom_line(aes(group = Group), size = 1.5) 添加折线图层,并根据组别分组
5 labs(title = "堆积柱形图叠加折线图", x = "物种", y = "花瓣长度") 添加标题和轴标签
6 theme_minimal() 使用简洁的主题风格
7 scale_fill_manual(values = c("Group A" = "blue", "Group B" = "red")) 自定义堆积柱形图的填充颜色
8 scale_y_continuous(limits = c(0, 8), breaks = seq(0, 8, by = 1)) 设置y轴的范围和刻度
9 scale_color_manual(values = c("Group A" = "blue", "Group B" = "red")) 自定义折线图的颜色
10 theme(legend.position = "top") 将图例放置在顶部

让我们一步一步来解释每个步骤需要使用的代码,并注释这些代码的意思。

步骤1:导入ggplot2包

library(ggplot2)

这行代码用于导入ggplot2包,它是R语言中用于数据可视化的强大工具。

步骤2:创建ggplot对象

ggplot(data = iris, aes(x = Species, y = Sepal.Length, fill = Group))

这行代码创建了一个ggplot对象,并指定了x轴、y轴和堆积柱形图的填充颜色。我们从iris数据集中选择了Species作为x轴,Sepal.Length作为y轴,Group作为堆积柱形图的填充颜色。

步骤3:添加堆积柱形图层

geom_bar(stat = "identity", position = "stack")

这行代码添加了一个堆积柱形图层,使用stat = "identity"表示使用原始数据值作为柱形图的高度,position = "stack"表示将柱形图堆叠在一起。

步骤4:添加折线图层

geom_line(aes(group = Group), size = 1.5)

这行代码添加了一个折线图层,并根据Group进行分组。我们使用aes函数传递group参数,以确保折线图按组别进行

标签:Group,步骤,柱形图,Research,Environmental,ggplot2,折线图,堆积
From: https://blog.51cto.com/u_16175441/6779600

相关文章

  • 揭秘报表新玩法!标配插件不再单调,如何用柱形图插件让你的报表瞬间高大上!
    摘要:本文由葡萄城技术团队于博客园原创并首发。葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。前言图表作为一款用于可视化数据的工具,可以帮助我们更好的分析和理解数据,并发现数据之间的关系和趋势。下面以柱形图为例介绍如何使用JavaScript在报表中引入图表。本文......
  • SummerResearch_Log_20230703
    WorkingContent:1.这几天找到了提取attention层的代码,并且可以实现可视化:https://github.com/luo3300612/Visualizer效果图大概是这样:用这段代码调用函数,attention_maps[3][0,4,:,:]指的是第3层attention层的第4个注意力头的注意力分数。visualize_grid_to_grid_with_cl......
  • SummerResearch_Log_20230627
    WorkingContent:1.今天开始看VisionTransformer(ViT):看之前需要一些基础:(1)RNN(RecurrentNN,循环神经网络):一段连续的信息,前后信息之间是有关系地,必须将不同时刻的信息放在一起理解。如果是普通的神经网络,每个输入之间是相互独立的,如果是RNN,则可以接收上一个输入传递的信息。......
  • 一些关于Research中代码能力的思考
    在Research中,代码能力有时候往往决定了复现的能力。一些优秀的idea并不会公开代码,所以你有相当出色的代码能力就可以很快的实现自己的想法。在之前的research经历中,我有接手他人工作的项目。research的代码和工业界代码无法比较,往往是杂乱无章,我承认这里面有着优秀的idea和新颖的......
  • SummerResearch_Log_20230619
    WorkingContent:1.把resnet18的backdoor和IL尝试结合了一下,得到的结果如下:在训练完第一个任务后(干净的数据集),错误率为28.29%;训练完第二个任务后(污染的数据集),错误率为28.50%,攻击失败率为85.33%。这里攻击的成功率太低了,不太清楚为什么,需要问一下。2.附上classifier_resn......
  • SummerResearch_Log_20230617
    WorkingContent:1.今天还是读代码,对于代码有以下问题:(1)FCNet最后的输出层只有1个神经元,这如何做分类?——解决了,应该是因为它每个子任务都是训练两类,所以只需要一个神经元确定是哪个类别。(2)CIFAR数据集的分任务是什么情况?既使用了CIFAR10也使用了CIFAR100,并且分类的情况也有点......
  • SummerResearch_Log_20230616
    WorkingContent:1.学到的关于VCL方法的几个点:(1)最小化KL散度=最大化ELBO(EvidenceLowerBound)。tyxe的源代码应该用的就是最大化ELBO,这里loss是由关于ELBO的函数得到的(具体怎么得到的不太知道)。(2)源代码用了Pyro库中的SVI,是一种类。......
  • SummerResearch_Log_20230613
    WorkingContent:1.上次的问题得到解决:(1)数据集就是8个文件夹,代表八个类别(忽略注释说的四个类),databloader会为他们分配labels。(2)incrementallearning和backdoor结合是将干净的数据集和被污染的数据集两个任务分别训练。2.基于TyXe的VCL方法终于跑通了,下面是在mnist和cifar数......
  • 揭秘报表新玩法!标配插件不再单调,如何用柱形图插件让你的报表瞬间高大上!
    摘要:本文由葡萄城技术团队于博客园原创并首发。葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。前言图表作为一款用于可视化数据的工具,可以帮助我们更好的分析和理解数据,并发现数据之间的关系和趋势。下面以柱形图为例介绍如何使用JavaScript在报表中引入图表......
  • SummerResearch_Log_20230610
    WorkingContent:1.目前要做的任务是将classifier_resnet18.py用的方法做一些改动,原来是训练一个被污染的数据集,然后用干净的测试集去测试正常数据的识别成功率和污染数据的攻击成功率。比如某种dog属于dog类,我现在找了个trigger(比如加了个黑方格到dog的图像上),并且把加了trigg......