羲和能源大数据平台——Python数据绘图方法

2024-09-05 19:44

本文主要是介绍羲和能源大数据平台——Python数据绘图方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. 写在前面

目前论文对绘图的美观度要求越来越高,在气象领域呈现维度高,时空关联的特性,为了充分展示数据在各个维度的特性,选用合适的绘图方法至关重要,下图给出了如今在科研领域中个常用的各类图像:线型图、气泡图、雷达图、直方图、饼状图、带状图、散点图、箱形图、小提琴图等等。大家为了画出一个图可谓是卷出了“新花样”。
最近,我们频繁收到用户的反馈说平台绘图十分优美,但是却不知道怎么才能画出来,于是我们开启了一期专门的绘图教程,帮助我们的客户在论文撰写、汇报时更“优美”的展示数据。相关内容将持续更新,想要掌握更多的绘图技巧,请记得关注我们~

图源:https://www.reddit.com/r/datascience/comments/bo8a0c/the_fun_way_to_understand_data_visualization/

2. 线型图

线型图可谓是最简单的反应数据变化规律的图,因为现实中的数据都是离散的,将有相关规律的两个变量通过线型图展示出来时最直观的,一般线型图的横坐标为时间(不是绝对的),纵坐标为需要展示的数据。下图为羲和中下载数据后画出来的线型图。

线型图的绘制十分简单,Excel、Python、R、Matlab、LaTeX等都能非常简单的画出线型图,然而Excel中自带的线型图并不是十分美观,推荐用Python等编程语言进行绘制,Python中matplotlib、seaborn、plotly等第三方库支持非常多的优美图,可以通过pypi安装
以下是Python中绘制的方式:

绘制结果:

当然,我们也可以选在在一幅图中绘制多个变量,只需要更改参数y 即可:

在这个非常注重配色搭配的时代,在多个颜色的图中往往会选择饱和度较低的颜色,我们可以更改 template 和 color_discrete_sequence 两个参数来调整背景和线的颜色。
以下是两个参数的参考文档,这在我们后面的绘图中也十分重要:
template: https://plotly.com/python/templates/
color_discrete_sequence:https://plotly.com/python/discrete-color/

3. 分布玫瑰图(以风向为例)

风向在气象数据里面是反映风速方向的变量,由于风向的范围是0~360度,因此可以统计出风向的分布情况,进而通过玫瑰图等展示频率分布的图像来更为清晰的展示风向的分布情况,以下是羲和中下载风向数据后自动画出的风向分布玫瑰图:

然而,我们下载到的羲和气象数据是时序数据,因此我们需要首先统计不同风向区间的数据点频率,再绘制出玫瑰图。有了这个思想,我们就可以十分轻松的用Python来实现风向玫瑰图的绘制了:

以下是绘制效果:

同样我们也可以通过改变template 和 color_discrete_sequence 两个参数来调整背景和饼状的颜色。

4. 下期提示

下一期,我们将展示如何在风向玫瑰图中一同展示风速的强度:

这篇关于羲和能源大数据平台——Python数据绘图方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1139889

相关文章

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4

SpringBoot日志配置SLF4J和Logback的方法实现

《SpringBoot日志配置SLF4J和Logback的方法实现》日志记录是不可或缺的一部分,本文主要介绍了SpringBoot日志配置SLF4J和Logback的方法实现,文中通过示例代码介绍的非... 目录一、前言二、案例一:初识日志三、案例二:使用Lombok输出日志四、案例三:配置Logback一

Python如何使用__slots__实现节省内存和性能优化

《Python如何使用__slots__实现节省内存和性能优化》你有想过,一个小小的__slots__能让你的Python类内存消耗直接减半吗,没错,今天咱们要聊的就是这个让人眼前一亮的技巧,感兴趣的... 目录背景:内存吃得满满的类__slots__:你的内存管理小助手举个大概的例子:看看效果如何?1.

Python+PyQt5实现多屏幕协同播放功能

《Python+PyQt5实现多屏幕协同播放功能》在现代会议展示、数字广告、展览展示等场景中,多屏幕协同播放已成为刚需,下面我们就来看看如何利用Python和PyQt5开发一套功能强大的跨屏播控系统吧... 目录一、项目概述:突破传统播放限制二、核心技术解析2.1 多屏管理机制2.2 播放引擎设计2.3 专

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

Python实现无痛修改第三方库源码的方法详解

《Python实现无痛修改第三方库源码的方法详解》很多时候,我们下载的第三方库是不会有需求不满足的情况,但也有极少的情况,第三方库没有兼顾到需求,本文将介绍几个修改源码的操作,大家可以根据需求进行选择... 目录需求不符合模拟示例 1. 修改源文件2. 继承修改3. 猴子补丁4. 追踪局部变量需求不符合很

mysql出现ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost‘ (10061)的解决方法

《mysql出现ERROR2003(HY000):Can‘tconnecttoMySQLserveron‘localhost‘(10061)的解决方法》本文主要介绍了mysql出现... 目录前言:第一步:第二步:第三步:总结:前言:当你想通过命令窗口想打开mysql时候发现提http://www.cpp

MySQL大表数据的分区与分库分表的实现

《MySQL大表数据的分区与分库分表的实现》数据库的分区和分库分表是两种常用的技术方案,本文主要介绍了MySQL大表数据的分区与分库分表的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有... 目录1. mysql大表数据的分区1.1 什么是分区?1.2 分区的类型1.3 分区的优点1.4 分

Mysql删除几亿条数据表中的部分数据的方法实现

《Mysql删除几亿条数据表中的部分数据的方法实现》在MySQL中删除一个大表中的数据时,需要特别注意操作的性能和对系统的影响,本文主要介绍了Mysql删除几亿条数据表中的部分数据的方法实现,具有一定... 目录1、需求2、方案1. 使用 DELETE 语句分批删除2. 使用 INPLACE ALTER T

MySQL INSERT语句实现当记录不存在时插入的几种方法

《MySQLINSERT语句实现当记录不存在时插入的几种方法》MySQL的INSERT语句是用于向数据库表中插入新记录的关键命令,下面:本文主要介绍MySQLINSERT语句实现当记录不存在时... 目录使用 INSERT IGNORE使用 ON DUPLICATE KEY UPDATE使用 REPLACE