python用matplotlib画玫瑰_用Python matplotlib 怎么画风向玫瑰图 ,能给出程序的?
因为监测数据中风速风向分析的需求,经常需要绘制风玫瑰图、趋势图等。在开始做这项工作的时候,在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 怎么画风向玫瑰图 ,能给出程序的?相关推荐
- python用matplotlib画球_用Python的Matplotlib 画一个足球场
我们可能想要在图表上绘制线条或圆圈的原因有很多. 我们可以寻找添加平均线,突出显示关键数据点甚至绘制图片. 本文将展示如何使用足球场地图的示例添加线条,圆圈和圆弧,然后可以使用它来显示热图,传球或比赛 ...
- 用python的turtle画同心圆_在Python中用turtle函数画同心圆
原博文 2019-12-24 09:01 − 用turtle函数画空心圆 turtle.circle是从下方开始画圆的,所以要画同心圆的话,每一次都要将画笔移动到下一个圆的底部位置. 画笔的坐标默认在 ...
- python用turtle画月亮_使用Python的turtle画小猪乔治和哆啦 A 梦
本人是Python新人小白,欢迎各位大佬指正,本文介绍的是用Python的turtle画一只小猪乔治. 还有本人画画基础超级差= =没天赋,画参考度娘上的一个图片画的. 先上总代码,然后说说我写的思路 ...
- python用matplotlib画五角星_绘图:Matplotlib
用于绘制一些数据图,同学推荐的,挺好用.非常好的官网文档:http://matplotlib.org/contents.html 0. 安装 可以直接pip install,还有一些依赖就按照提示来吧 ...
- 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 # # # # # # # # # # # ...
- python用渐变色画圆_利用python控制Autocad:pyautocad方式
发现pyautocad模块:可以用python控制autocad的包.今天把文档中的重点内容摘录出来,以后绘图.计算大工程量.或者识别施工图的时候时候也许可以用到. 一.连接cad pyautocad ...
- python用turtle画菱形_使用 Python Turtle 设计简单而又美丽的图形
Turtle是一个内置模块,简单地说,模块是易于调用的编程函数集合,即计算机要遵循的一组特定步骤以获取结果的命令. 步骤2:第一个设计:代码和说明 #后面的内容python是看不到的. from tu ...
- python的turtle画小人_利用Python如何画一颗心、小人发射爱心
源码: #!/usr/bin/env python # -*- coding:utf-8 -*- import turtle import time # 画心形圆弧 def hart_arc(): f ...
- python用turtle画月亮_使用python turtle画高达
今天小编就为大家分享一篇使用python turtle画高达,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧 我就废话不多说了,直接上代码吧! import turtle t=turt ...
- 用python给女朋友画素描_用Python来给你的女朋友画一幅素描画!女朋友我就不发了!...
我们知道一张色彩鲜艳的美照,看起来自然赏心悦目的,同样要是一张素描照,同样的效果看起来也是不错的. " 那么问题来了,你可以使用一只铅笔和一张画纸来完成一张素描照,但这花费的时间也不在少数, ...
最新文章
- Prewitt 边缘检测
- 机器学习处理流程、特征工程,模型设计实例
- springboot项目 访问不到静态资源css
- 《MINECRAFT我的世界 新手完全攻略(第3版)》一1.4 关于快照版
- 7-25日牛客网刷题 未知点、错题 集合
- 苹果宣布3月7日召开发布会 预期推iPad 3
- 清洁单元测试图案–演示幻灯片
- java 酒店预定 app_Android应用源码酒店在线预定app项目全套
- 腾讯QQ企业邮箱POP3/SMTP设置
- oracle导出表中某天数据命令,Oracle数据库使用命令行导入导出数据表及数据内容(本地、远程)...
- php ci框架 实例化类,php框架CI(codeigniter)自动加载与自主创建对象操作实例分析...
- ORACLE 10G修改主机名后EM Enterprise Manager无法启动的解决办法-Robert
- MySQL索引(如何设计索引)
- android切图倍数,【Flutter工具】fmaker:自动生成倍率切图/自动更换App图标
- 区块链 以太坊 虚拟机 EVM 详解
- 递归,根据部门id获取部门树下的某个部门名称
- 五脏排毒最简单有效的方法
- python光棍节快乐_2020年光棍节快乐的祝福语10句
- 2021编程语言top10,C蝉联第一,Python超越Java成为第二
- 三星nfc添加门禁卡实测有效_小米的NFC功能到底有多强大?看完折服!