Grapher教程—重建长江中下游降雨量时间变化序列

news2024/11/20 14:40:11

各位朋友好!非常激动!新学了一个科研绘图软件,它的大名叫“Grapher”,也许在科研界早已如雷贯耳,但在我这,还得是第一次遇见你!来看看小编在老师的指导下鼓捣了三节课搞出来的图。

就问大家,这效果,是不是比较帅!以后开展时间序列分析有新伙伴了!!!这么有用的工具还不学起来!话不多说,跟着小编,一起开始今天的学习。

一、学习目标

1.绘制长江中下游近150年的降雨量时间序列图表并导出。

2.计算长江中下游的降雨量的变化周期并导出。

二、前期准备

1.任意版本的Grapher软件、Past软件。Grapher软件目前更新地比较快,小编在这里用的是英文版的Grapher20,Past软件也是进行时间序列分析常用的软件,不过这个软件在反应上有点不太智能,需要大家保持好心态嘻嘻嘻。两个软件友友们可以自行网上下载安装好,如有问题,可在评论区留言哦。

2.近150(1856-2013)年的降雨量时间序列数据。这里的时间序列数据是我们分析的核心,一般包括年份和数值数据两部分,我们的时间序列往往都是探讨某个变量与时间之间的关系,通常是十年尺度、百年尺度、千年尺度、万年尺度等等......,这里就得看各位小伙伴在研究上的时间尺度了。此处小编想利用树轮重建的长江中下游近150年的降雨量数据,来讨论长江中下游降雨量的变化周期。

三、实践过程

A.降雨量时间序列图的绘制

1.打开Grapher软件,导入研究数据

软件打开,映入眼帘的是布局简洁但又处处透露着高级的界面,反正比ArcMap好看多了,此时弹出的窗口提示你新建一个文件。我们此行的目的是进行绘图,绘图都是需要数据来源的,我们找到该窗口“New”下的“Worksheet”打开,可以新建一个工作表。在打开的EXCEL文件中,全部复制A、B两列的数据,粘贴至新建的工作表下,此时完成数据的导入。效果见下图:

2.建立时间序列图

数据导入后,接下来我们就要生成时间序列图了,全选A、B两列,在标题栏找到“Home”并点击,找到新图表建立栏目“New Graph”,选择基础图形“Basic”,下拉箭头,选择第一种“Line Plot”,点击即可生成降雨量随着年份的线性时间序列变化图表。如果你想尝试其他图表,也是可以的哦!

初步生成的图表如下:

此时可以发现视野中心出现了自动生成的的时间序列图表,哎呀,巨丑!字太小,线太密,A4纸张太小,难以容纳整个图表、一整个就是看着不舒服,还不如用EXCEL呢!别急,一般自动生成的能有多好看,还得自己再调调。左侧这不是弹出了“Property Manager”的窗口这个,即图表属性管理窗口,合理运用好这个窗口,将使我们的图变得更加漂亮!

3.图表美化操作

(1)更改页面方向和纸张大小

右击页面纸张(不要点图表覆盖的区域)的空白处,弹出编辑栏目,选择“Page Setup”打开,进入页面编辑栏。下拉“Paper Size”将纸张大小改成A1,再将下方的纸张方向“Oentation”改成横向,此处我们勾上“Landscape”,这样一来,一张大页面的设置就完毕啦!

(2)对X轴和Y轴进行调整—以X轴为例

点击原图表的X轴,此时“Property Manager”出现X轴的相关属性,有Axis(轴)、Labels(标签)、Line(图表线)等诸多编辑对象。

对于Axis的操作:在“Geometry”中,将轴的长度(Length)设置为“30”,在“Limits”中X轴值域范围设置为(1856-2013),在“Title”中将X轴标题设置为“时间”,点击“Font”旁边的+号,将字体大小为“40”。Y轴操作同上,在更改轴的长度上设设置为“15”。将图形移动至页面合适位置。

对于Labels的操作:在“Label Settings”下,对数字标签的格式进行修改,将标签字体改为“Time News Roman”。调整大小为“40”,Y轴调整同上。

对于Line的操作:在“Axis Line Properties”下调整坐标轴的颜色,将默认颜色修改为黑色即可。Y轴除此之外,可以在“Grid Line Properties”中,将主要网格线的显示按钮勾选去除,此时图中便没有了横向的网格线。

对于Ticks的操作:在“Major Ticks”中将主分割点设置为朝上,长度设置为“0.2”,在“Minor Ticks”中将主分割点设置为朝上,长度设置为“0.1”,Y轴与此类似,只需将分割点方向设置为朝右即可。

保留图表外框线:点击图表外框选中后,弹出属性编辑窗口,点击“Line”,在style中下拉选择横线,并在下方的颜色编辑按钮中将颜色调整为黑色,此时可得到带有外框的黑色的图表外框。

编辑图表中的线:点击图表中的线,在属性窗口中选择“Symbol”按钮,将频率改为1,图形使用默认的圆形,调整大小0.2。再选择“Line”按钮,调整线的宽度,将数值调整为“0.06”。

经过上面一系列的操作,欸嘿,这图的雏形是不是出来了!不错呦,接下来,我们想知道,近150年来,长江中下游降雨量的变化趋势到底怎么样?有多少个周期?

4.定性趋势与周期分析

创立拟合曲线。在图形左侧图层窗口中找到降水量右击,选择“Add Fit Curve”,为图表添加拟合曲线,此时图表将会得到默认的线性拟合曲线。

更改拟合曲线类型。点击拟合曲线,在弹出的属性窗口中,找到“Plot”,在下方的“Fit”中,对类型进行选择,此处我们选择“Running Averge”,即滑动平均,对曲线进行重新拟合。感兴趣的伙伴们也可以采取其他的方法进行拟合。

编辑拟合曲线。在拟合曲线的属性编辑窗口中找到“Line”,对曲线的颜色和宽度进行更改,此处小编将颜色改成红色,宽度改为0.06。

我们发现拟合曲线的效果还是比较好的,把近150年降雨量变化趋势大致拟合出来了,从中我们发现,经历若干年,降雨量便存在峰和谷的交替,当然,此时的峰谷数量还是很多的。我们可以进行调整,只需要重新回到曲线编辑窗口中的“Plot”,在“Plot Windows”进行调整,我们滑动窗口依次改为7、9、11,得到如下结果:

从上述图中可以发现,随着windows数值的增大,峰和谷的数量减少,周期的呈现愈发明显。

最后编辑标题。点击图表整体,在弹出的窗口中找到“Title”、将图表命名为“长江中下游降雨量时间序列变化状况”,修改字体颜色和大小,一张完整的时间序列图表到这里就结束啦!

那么,长江中下游的降雨量究竟以什么样的周期进行变化呢?有没有一种定量的方法可以进行计算?第二部分,我们一起来定量计算一下这个周期。

B.时间序列数据的周期计算

1.打开Past软件,导入数据

在Excel表格中复制降雨量一栏数据,注意不要复制标题栏!Past只认数值哦!将数值粘贴至Past软件下的A栏中,完成初始数据的导入。

2.时间序列分析

选择方法。在标题栏找到“Timeseries”,下拉选择“Spectral analysis”,即频谱分析法,选择“REDFIT”,即红点拟合,对数值进行拟合分析。

数值计算与置信度检验。在红点拟合弹出的窗口中点击“compute”,进行拟合计算。通过置信度曲线(图中四条分别是80%、90%、95%、99%)能够查看,有多少数值能够通过不同置信度的检验,进而为后续实现在精度允许范围开展周期计算提供参考。

数值结果转移与置信度选择。点击红点拟合窗口左侧中的Numbers,点击Copy,将结果复制粘贴至新建立的EXCEL中。由于软件自动计算出了多个置信度水平,我们选择90%作为置信度水平,将其余栏的计算结果全部删除。

周期计算。由于周期是频率的倒数,此时我们在D栏标题栏写上“Cycle”,并在下方使用公式进行计算(=1/A2),自动填充,能够得到相对应的值。将第一栏的无意义值去掉,得最终的计算结果。

3.数据可视化

导入数据,生成基础图表。打开一个新的Grapher,复制“Freq”、“Power”、“chi2 90%”至Grapher的新的工作表中,按照A部分建立图表的方法生成图表。

美化图表。各位友友请参考A部分的美化方法,自行美化哦,小编在此处就不过多赘述了。

添加周期结果标签。点击蓝色曲线,在图形属性编辑窗口中找到“Labels”栏目,点击“Label variables”,下拉,选择cycle结果栏,对下方的格式编辑栏对字体以及大小进行编辑,可将周期结果显示在图中。此时可以分析通过置信度水平为90%的周期有哪些。

结果分析。从图中大致可以看出,通过置信度检验的(在红色曲线上方)大致有13,10,7,3,2等周期,得到了一个较为精确的长江中下游降雨变化的周期评估结果。如果伙伴们感兴趣,还可以将ENSO循环的周期变化与该结果联合起来进行分析,试试能不能分析一波ENSO循环与长江中下游降雨量振荡的影响

C、图表结果导出

通过上述操作,我们已经得到了两幅图,应该如何将结果进行导出呢?接下来小编以这张周期置信度检验图导出为例,来简单演示。找到Grapher窗口顶端的“File”,打开后可以发现“Export”按钮,点击。在弹出的窗口中设置好文件保存路径、文件名、导出格式(此处选择jpg)。控制输出像素设置为300,导出后得到最终结果。另一张图的导出方式与此类似,请朋友们自行尝试。

结果如下:

好啦,本期关于结合Grapher和Past进行时间序列分析的教程到这里就结束了,其他时间序列数据的分析同样可以采取的类似的方法进行,友友们可以自行尝试!另外,Grapher真的是一个很强的科研绘图软件,还有很多功能可以深入挖掘,大家要是有新的点子,欢迎评论区留言哦!

再次感谢老师在课堂上的指导!

内容创作不易,如果对你的学习有帮助,不要忘记了给小编点赞哦!我是禾穗,在这里,我们致力于用简单的语言和你一同交流地学制图与数据分析的那些事,欢迎持续关注!

伙伴们,学起来!咱们下期再会!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1514133.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

6.Java并发编程—深入剖析Java Executors:探索创建线程的5种神奇方式

Executors快速创建线程池的方法 Java通过Executors 工厂提供了5种创建线程池的方法,具体方法如下 方法名描述newSingleThreadExecutor()创建一个单线程的线程池,该线程池中只有一个工作线程。所有任务按照提交的顺序依次执行,保证任务的顺序性…

Mybatis-Plus实现常规增删改操作

文章目录 3.1 MP实现插入操作3.1.1 BaseMapper定义操作方法3.1.2 代码测试 3.2 MP主键字段注解-TableId3.2.1 注解TableId介绍3.2.2 MP主键生成策略介绍3.2.3 MP常用主键生成策略3.2.4 雪花算法(了解) 3.3 普通列注解-TableField3.3.1 注解TableField作用3.3.2 代码示例 3.4.MP…

自适应差分进化算法(SaDE)和差分进化算法(DE)优化BP神经网络

自适应差分进化算法(SaDE)和差分进化算法(DE)优化BP神经网络 自适应差分进化算法(SaDE)和差分进化算法(DE)可以用于优化神经网络中的参数,包括神经网络的权重和偏置。在优化BP神经网络中,DE和SaDE可以帮助找到更好的权重和偏置的组合,以提高…

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的交通标志识别系统详解(深度学习模型+UI界面代码+训练数据集)

摘要:本篇博客详细介绍了利用深度学习构建交通标志识别系统的过程,并提供了完整的实现代码。该系统采用了先进的YOLOv8算法,并与YOLOv7、YOLOv6、YOLOv5等早期版本进行了性能评估对比,分析了性能指标如mAP、F1 Score等。文章深入探…

4、设计模式之建造者模式(Builder)

一、什么是建造者模式 建造者模式是一种创建型设计模式,也叫生成器模式。 定义:封装一个复杂对象构造过程,并允许按步骤构造。 解释:就是将复杂对象的创建过程拆分成多个简单对象的创建过程,并将这些简单对象组合起来…

吴恩达机器学习-可选实验室:逻辑回归,决策边界(Logistic Regression,Decision Boundary))

文章目录 目标数据集图数据逻辑回归模型复习逻辑回归和决策边界绘图决策边界恭喜 目标 在本实验中,你将:绘制逻辑回归模型的决策边界。这会让你更好地理解模型的预测。 import numpy as np %matplotlib widget import matplotlib.pyplot as plt from lab_utils_co…

Python逆向:pyc字节码转py文件

一、 工具准备 反编译工具:pycdc.exe 十六进制编辑器:010editor 二、字节码文件转换 在CTF中,有时候会得到一串十六进制文件,通过010editor使用查看后,怀疑可能是python的字节码文件。 三、逆向反编译 将010editor得到…

【网络工程师进阶之路】BFD技术

个人名片:🪪 🐼作者简介:一名大三在校生,喜欢AI编程🎋 🐻‍❄️个人主页🥇:落798. 🐼个人WeChat:hmmwx53 🕊️系列专栏:&a…

第十四届蓝桥杯蜗牛

蜗牛 线性dp 目录 蜗牛 线性dp 先求到达竹竿底部的状态转移方程 求蜗牛到达第i根竹竿的传送门入口的最短时间​编辑 题目链接:蓝桥杯2023年第十四届省赛真题-蜗牛 - C语言网 关键在于建立数组将竹竿上的每个状态量表示出来,并分析出状态转移方程 in…

《详解:鸿蒙NEXT开发核心技术》

我们现在都知道鸿蒙作为一个国产的全栈自研系统,经过国家主推后。已经引起人们很大的关注,其中作为开发者来说;许多一线大厂已经与其华为鸿蒙展开原生应用的合作了,目前了解到已经有200家。而之后出现了很多的高薪鸿蒙开发岗位&am…

Unity制作马赛克效果

大家好,我是阿赵。   之前在玩怒之铁拳4里面,看到了马赛克场景转换的效果,觉得很有趣,于是也来做一下。 一、2D版本的马赛克转场效果 先看看视频效果: 马赛克转场 这里我是直接写shader实现的,我这里是把…

sqlite3——数据库——day2

今天学习了sqlite3数据库 sqlite3_open sqlite3_openint sqlite3_open(const char *filename, /* Database filename (UTF-8) */sqlite3 **ppDb /* OUT: SQLite db handle */); 功能:打开数据库文件(创建一个数据库连接) 参数:filename:数据库文件路径 ppDb:操作数…

SpringCloud Gateway 新一代网关

一、前言 接下来是开展一系列的 SpringCloud 的学习之旅,从传统的模块之间调用,一步步的升级为 SpringCloud 模块之间的调用,此篇文章为第六篇,即介绍 Gateway 新一代网关。 二、概述 2.1 Gateway 是什么 Gateway 是在 Spring 生…

前端请求到 SpringMVC 的处理流程

1. 发起请求 客户端通过 HTTP 协议向服务器发起请求。 2. 前端控制器(DispatcherServlet) 这个请求会先到前端控制器 DispatcherServlet,它是整个流程的入口点,负责接收请求并将其分发给相应的处理器。 3. 处理器映射&#xf…

安卓项目:app注册/登录界面设计

目录 第一步:设计视图xml 第二步:编写登录和注册逻辑代码 运行效果展示: 总结: 提前展示项目结构: 第一步:设计视图xml 在layout目录下面创建activity_login.xml和activity_main.xml文件 activity_lo…

rust学习(手动写一个线程池)

哈哈&#xff0c;主要是为了练习一下rust的语法&#xff0c;不喜勿喷。 一.Executor申明 struct AExecutor<T> {results:Arc<Mutex<HashMap<u32,T>>>, //1functions:Arc<Mutex<Vec<ATask<T>>>> //2 } 1.results&#xff1a…

docker-compose up -d使用遇到问题no configuration file provided: not found

docker-compose up -d使用遇到问题&#xff0c;因为你文件名称没指定&#xff0c; 又找不到默认的文件名称&#xff1b;如果该目录下有个文件叫docker-compose.yml时&#xff0c;那么可以直接使用docker-compose up -d;否则就要使用docker-compose -f mysql up -d

IP数据报格式

每一行都由32位比特&#xff0c;即4个字节组成&#xff0c;每个格子称为字段或者域。IP数据报由20字节的固定部分和最大40字节的可变部分组成。 总长度 总长度为16个比特&#xff0c;该字段的取值以字节为单位&#xff0c;用来表示IPv4数据报的长度(首部长度数据载荷长度)最大…

【阿里云系列】-基于云效构建部署Springboot项目到ACK

介绍 为了提高项目迭代的速度加速交付产品给客户&#xff0c;我们通常会选择CICD工具来减少人力投入产生的成本&#xff0c;开源的工具比如有成熟的Jenkins&#xff0c;但是本文讲的是阿里云提高的解决方案云效平台&#xff0c;通过配置流水线的形式实现项目的快速部署到服务器…

(第73天)DBUA 升级:单机 11GR2 升级到 19C

前言 Oracle 11GR2 版本是上一个长期稳定版本,但是官方已与 2020 年停止服务,官方建议升级到最新长期稳定版 19C。 参考官方文档:当前数据库版本的发行时间表 (Doc ID 1626244.1) Database Upgrade Assistant (DBUA) 交互式的引导我们完成升级数据库的步骤,它会自动执行为…