python matplotlib,管理风数据的numpy库,绘制风玫瑰图(也称为极玫瑰图)
windrose的Python项目详细描述
风玫瑰
awind rose是气象学家用来简明扼要地描述风速和风向在特定位置的典型分布的图形工具。它也可以用来描述空气质量污染源。Wind Rose工具使用MatPlotLib作为后端。可以使用numpy数组或pandas数据帧将数据传递到包。
wind rose是一个python库,用于管理风数据、绘制风玫瑰图(也称为极玫瑰图)和拟合weibull概率密度函数。
这个库的最初使用案例是关于污染暴露和风分布分析的技术报告。利用当地污染测量数据和气象信息,如法国气象局(Meteo France),产生污染源风玫瑰。
它也被一些贡献者用于教学目的。
其他一些贡献者使用它为wind power plant control optimization study生成图形。
一些学者用它来追踪高强度风暴中的闪电。他们正利用它根据闪电从一次撞击到下一次撞击的相对位置来可视化风暴的运动。
安装
要求
- matplotlibhttp://matplotlib.org/
- 纽米http://www.numpy.org/
- 当然还有pythonhttps://www.python.org/:-p
选项库:
- 熊猫http://pandas.pydata.org/(方便地提供绘图功能)
- scipyhttp://www.scipy.org/(用weibull分布拟合数据)
- ffmpeghttps://www.ffmpeg.org/(输出视频)
- 单击http://click.pocoo.org/(用于命令行界面工具)
通过pip
安装最新版本软件包可用,可以从PYPI下载并使用以下命令安装:
$ pip install windrose
安装最新开发版本
$ pip install git+https://github.com/python-windrose/windrose
或
$ git clone https://github.com/python-windrose/windrose $ python setup.py install
示例
让我们生成风速(ws
)和风向(wd
)的随机数据。
fromwindroseimportWindroseAxesfrommatplotlibimportpyplotaspltimportmatplotlib.cmascmimportnumpyasnp# Create wind speed and direction variablesws=np.random.random(500)*6wd=np.random.random(500)*360
条形图风玫瑰图是最常见的图
-
这种绘图可以使用:
ax=WindroseAxes.from_ax()ax.bar(wd,ws,normed=True,opening=0.8,edgecolor='white')ax.set_legend()
也可以绘制等高线图
-
可以使用子地块绘制多个风玫瑰图,以提供每年的地块,例如每月的子地块
-
可以绘制概率密度函数。拟合weibull分布由scipy启用。 威布尔分布用于天气预报和风电行业来描述风速分布,因为风速的自然分布通常与威布尔形状相匹配
-
文档
图书馆的完整文档可在http://windrose.readthedocs.io/
社区指南
你可以帮助开发这个图书馆。
行为准则
如果您正在使用python windrose并希望与开发人员、其他用户交互… 我们鼓励您遵循我们的code of conduct。
贡献
如果您发现问题,有改进或新功能的想法,请报告。 CONTRIBUTING.md解释 如何为这个项目做出贡献。
贡献者和/或著名用户列表
https://github.com/python-windrose/windrose/blob/master/CONTRIBUTORS.md