基于PyQt5、metpy和matplotlib的探空资料可视化界面

基于PyQt5、metpy和matplotlib的探空资料可视化界面

一、概述

作者这次做的是一个界面,把探空资料可视化呈现给大家,先上一张图给各位看官过目一下
在这里插入图片描述
界面看着稍稍有点挤,那是因为作者的电脑实在是有点菜,大家到时候只需要把窗口尺寸改大一点就好了
几点说明:
1.因为作者手边刚好有一款探空雷达,所以数据更加丰富一点,大家手边可能只有MICAPS的探空数据,可能有些数据不能呈现,比如气球升速什么的,但咱们主要的目的是学习和改进,作者给了源代码,大家可以修改。
2.作者也就是个学雷达,外加会写几行代码的菜鸟,所以里面很多热力学的东西不懂,难免会有错误的计算,希望广大网友们及时告诉我,大家相互提高改进。
3.希望作者可以抛砖引玉,大家看完以后有什么更好的可视化呈现方式可以与作者沟通,或者哪些物理量需要呈现,比较作者懂得少。
4.整个界面有一些小BUG,作者第一版只是比较随意,感觉不影响使用,就没有做修改,望大家不要介意。
5.由于稍稍有一些代码量,而且不是一个py文件,这里主要以图的方式呈现。

二、库的准备

要跑起代码需要以下这几个库,大家需要提前装以下:PyQt5、metpy、matplotlib、numpy
如果还有因为其他库没跑起来的,就根据报错自行安装吧。
有报错的地方可以和作者沟通,警告提示就别了吧,嘿嘿

三、界面介绍

(一)埃玛图部分在这里插入图片描述

这里就是传统埃玛图,不过就是加了一小部分信息,比如0度层的高度,也加了一些鼠标交互信息,当在绘图区按住鼠标右键时,会提示温度等基本信息,按住移动,会有跟随效果。

(二)风速层结和温度层结部分

在这里插入图片描述
这里是各高度层风速的显示,右侧是各高度层温度的递减情况,即上一层减去下一层的温度差,用来判断温度是递减的还是逆温。
绿色的湿区

(三)气球轨迹部分

在这里插入图片描述
这部分没啥可说的,顾名思义,感觉有些问题,可能有不对的地方,但是作者想不出来,希望大佬提点

(四)假相当位温曲线和气球升速部分

在这里插入图片描述
也是顾名思义,加入了一些交互,鼠标移动会有跟随信息

(五)物理量参数部分

在这里插入图片描述
这里放了很多计算量,个人也是在这里耗费了很长的时间,感觉有的算的不对,有的没用,有用的又没放上来,希望大家提宝贵意见。参数超阈值的高亮还没做,后面再说,毕竟是小东西

(六)各层24小时变温部分

在这里插入图片描述
这里显示每一层24小时的变温情况,用来显示冷暖平流,当鼠标左键点击时,出现提示信息。

四、代码介绍

代码分成两部分,一部分是界面部分,一部分是各类画图计算类
在这里插入图片描述
sounding_pane为界面,另一个是类

(一)sounding_pane.py

这个是界面,其实结构很简单,看下图
在这里插入图片描述
导入库,导入我自己写的类,然后一个主窗口类(包括构造函数和控件生成函数),然后就是主函数
构造函数里面有一个窗口尺寸的修改,这个大家可以改大一点,界面会好看很多,作者的电脑实在太烂了
在这里插入图片描述
在控件生成函数里面有数据部分,是我自己直接填进去的,就是写死了,没有做文件读取之类的东西,因为这个是第一版,大家可以自己做修改
在这里插入图片描述
在这里插入图片描述剩下的就是许多控件的布局什么的,是PYQT5的知识

(二)My_Class.py

第一部分就是导入一堆库
第二部分就是各种类,作者做了简单的注释,说明了每一个类是干嘛的
在这里插入图片描述
内部注释没有怎么写,感觉好像会的人不写也能看懂,因为太简单了,相关知识不会的人,写了反而更混淆。所以,如果大家有看不懂的地方可以直接留言给我或者邮件给我,我一一解答。

扫描二维码关注公众号,回复: 13557292 查看本文章

小结

说实话,这个界面是山寨的国外的一个,因为我看不懂人家的,一气之下干脆自己写算了。因为是个野生的菜鸡,还懒,很多重复代码没做精简,给大家阅读造成了难度,请见谅。
最后,真心的希望大家在留言区踊跃的提出修改意见,比如更好的呈现方式,更有用的物理量,这也是我直接给出源代码的初衷,大家一起学习提高改进。
需要代码的可以留下邮箱,作者发给你

猜你喜欢

转载自blog.csdn.net/weixin_42372313/article/details/114282503