因为监测数据中风速风向分析的需求,经常需要绘制风玫瑰图、趋势图等。在开始做这项工作的时候,在Excel中绘图,但是真实太无聊了,浪费时间,而且本人审美水平极差,绘制效果自然你懂的。

刚好以前因为ArcGIS自动化处理的需求,学过一阵子Python,又因为这些图像的绘制大多是程式化的东西,自动实现起来难度较低,且风格可以高度一致。

有一列风向及对应同时刻的风速数据即可使用Python绘制好看的风玫瑰图了。

除了matplotlib模块还需要windrose模块,可在CMD中通过如下命令安装:

pip install windrose

如果需要从Excel中获取数据还需要xlrd模块:

pip install xlrd

数据从Excel文件中获取,代码中使用的数据格式如下图:

以下是我在绘制简单风玫瑰图过程中使用的代码

import xlrd

import matplotlib as mpl

from matplotlib import pyplot as plt

from windrose import WindroseAxes

import matplotlib.cm as cm

mpl.rcParams['font.sans-serif'] = ['SimHei']

def new_axes():

fig = plt.figure(figsize=(4, 4), dpi=80, facecolor='w', edgecolor='w')

rect = [0, 0, 1, 1]

ax = WindroseAxes(fig, rect, axisbg='w')

fig.add_axes(ax)

return ax

#...and adjust the legend box

def set_legend(ax):

l = ax.legend(shadow=False, bbox_to_anchor=[1, 0])

plt.setp(l.get_texts(), fontsize=12)

for sn in range(2): #2个sheet中都有数据,一次绘制多个风玫瑰图

workspace=(r"……工作空间")

mybook=xlrd.open_workbook(workspace+r'……文件名')#打开文件

mysheet=mybook.sheet_by_index(sn)

rows=mysheet.nrows

ws=mysheet.col_values(5) #风速

wd=mysheet.col_values(6) #风向

ws.pop(0)

ws.pop(0)

wd.pop(0)

wd.pop(0)

sl=[0,0.2,1.5,3.3,5.4,7.9] #风速重分类间断点

ax = new_axes()

ax.contourf(wd,ws,bins=sl,normed=True,cmap=cm.cool) #使用matplotlib内置colormap进行色彩分割

ax.set_title(mysheet.name,fontsize=15,loc='right')

set_legend(ax)

plt.show()

绘制结果如下:

python用matplotlib画玫瑰_用Python matplotlib 怎么画风向玫瑰图 ,能给出程序的?相关推荐

  1. python用matplotlib画球_用Python的Matplotlib 画一个足球场

    我们可能想要在图表上绘制线条或圆圈的原因有很多. 我们可以寻找添加平均线,突出显示关键数据点甚至绘制图片. 本文将展示如何使用足球场地图的示例添加线条,圆圈和圆弧,然后可以使用它来显示热图,传球或比赛 ...

  2. 用python的turtle画同心圆_在Python中用turtle函数画同心圆

    原博文 2019-12-24 09:01 − 用turtle函数画空心圆 turtle.circle是从下方开始画圆的,所以要画同心圆的话,每一次都要将画笔移动到下一个圆的底部位置. 画笔的坐标默认在 ...

  3. python用turtle画月亮_使用Python的turtle画小猪乔治和哆啦 A 梦

    本人是Python新人小白,欢迎各位大佬指正,本文介绍的是用Python的turtle画一只小猪乔治. 还有本人画画基础超级差= =没天赋,画参考度娘上的一个图片画的. 先上总代码,然后说说我写的思路 ...

  4. python用matplotlib画五角星_绘图:Matplotlib

    用于绘制一些数据图,同学推荐的,挺好用.非常好的官网文档:http://matplotlib.org/contents.html 0. 安装 可以直接pip install,还有一些依赖就按照提示来吧 ...

  5. python用matplotlib画表格_使用python和matplotlib绘制excel表?

    我目前有一个这种格式的excel文件: PS PSX1 PSX2 PSX3 PSX4 I P V I P V I P V I P V States Idle # # # # # # # # # # # ...

  6. python用渐变色画圆_利用python控制Autocad:pyautocad方式

    发现pyautocad模块:可以用python控制autocad的包.今天把文档中的重点内容摘录出来,以后绘图.计算大工程量.或者识别施工图的时候时候也许可以用到. 一.连接cad pyautocad ...

  7. python用turtle画菱形_使用 Python Turtle 设计简单而又美丽的图形

    Turtle是一个内置模块,简单地说,模块是易于调用的编程函数集合,即计算机要遵循的一组特定步骤以获取结果的命令. 步骤2:第一个设计:代码和说明 #后面的内容python是看不到的. from tu ...

  8. python的turtle画小人_利用Python如何画一颗心、小人发射爱心

    源码: #!/usr/bin/env python # -*- coding:utf-8 -*- import turtle import time # 画心形圆弧 def hart_arc(): f ...

  9. python用turtle画月亮_使用python turtle画高达

    今天小编就为大家分享一篇使用python turtle画高达,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧 我就废话不多说了,直接上代码吧! import turtle t=turt ...

  10. 用python给女朋友画素描_用Python来给你的女朋友画一幅素描画!女朋友我就不发了!...

    我们知道一张色彩鲜艳的美照,看起来自然赏心悦目的,同样要是一张素描照,同样的效果看起来也是不错的. " 那么问题来了,你可以使用一只铅笔和一张画纸来完成一张素描照,但这花费的时间也不在少数, ...

最新文章

  1. Prewitt 边缘检测
  2. 机器学习处理流程、特征工程,模型设计实例
  3. springboot项目 访问不到静态资源css
  4. 《MINECRAFT我的世界 新手完全攻略(第3版)》一1.4 关于快照版
  5. 7-25日牛客网刷题 未知点、错题 集合
  6. 苹果宣布3月7日召开发布会 预期推iPad 3
  7. 清洁单元测试图案–演示幻灯片
  8. java 酒店预定 app_Android应用源码酒店在线预定app项目全套
  9. 腾讯QQ企业邮箱POP3/SMTP设置
  10. oracle导出表中某天数据命令,Oracle数据库使用命令行导入导出数据表及数据内容(本地、远程)...
  11. php ci框架 实例化类,php框架CI(codeigniter)自动加载与自主创建对象操作实例分析...
  12. ORACLE 10G修改主机名后EM Enterprise Manager无法启动的解决办法-Robert
  13. MySQL索引(如何设计索引)
  14. android切图倍数,【Flutter工具】fmaker:自动生成倍率切图/自动更换App图标
  15. 区块链 以太坊 虚拟机 EVM 详解
  16. 递归,根据部门id获取部门树下的某个部门名称
  17. 五脏排毒最简单有效的方法
  18. python光棍节快乐_2020年光棍节快乐的祝福语10句
  19. 2021编程语言top10,C蝉联第一,Python超越Java成为第二
  20. 三星nfc添加门禁卡实测有效_小米的NFC功能到底有多强大?看完折服!

热门文章

  1. operands could not be broadcast together with remapped shapes
  2. 3ds max捕捉工具教程_3DS Max教程的终极收藏
  3. 如何将google的扩展程序打包:
  4. 液晶显示屏的C语言编码,AT89C51单片机驱动液晶显示汉字C语言
  5. 采集资源结束后,图片不显示解决办法
  6. 鲲鹏服务器gpu型号,GPU服务器服务
  7. 如何在终端里面使用ping来查局域网活动ip
  8. creator 反复横跳瞄准线的实现
  9. 如何把网址生成二维码
  10. python小白入门第二课-标识符数据类型字符串方法