Background

风玫瑰是由气象学家用于给出如何风速和风向在特定位置通常分布的简明视图的图形工具。

1、最终效果图

2、源码

import pandas as pd
import numpy as npimport matplotlib.pyplot as plt# 设置字体格式
font = {'family': 'serif','serif': 'Times New Roman','weight': 'normal','size': 10
}
plt.rc('font', **font)
plt.rc('axes.unicode_minus: False')def plot_wind_rose():"""绘制风速风向玫瑰图"""# 风速分布为16个方向columns = 'N NNE NE ENE E ESE SE SSE S SSW SW WSW W WNW NW NNW'.split()# 风速分 4 段,每列数据表示各方向风速的频数统计值datas = {'0~0.2': [0.32, 0.24, 0.21, 0.38, 0.35, 0.22, 0.06, 0.28, 0.43, 0.43, 0.18, 0.16, 0.19, 0.23, 0.08, 0.18],'0.3~1.5': [0.32, 0.38, 0.28, 0.08, 0.12, 0.29, 0.30, 0.32, 0.31, 0.19, 0.33, 0.49, 0.30, 0.18, 0.40, 0.35],'1.6~3.3': [0.24, 0.18, 0.07, 0.39, 0.34, 0.17, 0.40, 0.25, 0.07, 0.24, 0.24, 0.13, 0.10, 0.28, 0.41, 0.21],'3.4~5.4': [0.10, 0.18, 0.42, 0.13, 0.18, 0.29, 0.22, 0.13, 0.17, 0.12, 0.23, 0.19, 0.40, 0.30, 0.09, 0.25]}df = pd.DataFrame(data=np.array(list(datas.values())), index=list(datas.keys()), columns=columns)# 获取 16 个方向的角度值degrees = np.linspace(0, 2 * np.pi, len(columns), endpoint=False)# 绘制扇型的宽度,可以自行调整width = np.pi / len(columns)# 开始绘图plt.figure(figsize=(6, 6))ax = plt.subplot(111, projection='polar')for idx in df.index:# 每一行绘制一个扇形ax.bar(degrees, df.loc[idx], width=width, bottom=0.0, label=idx, tick_label=columns)# 设置零度方向北ax.set_theta_zero_location('N')# 逆时针方向绘图ax.set_theta_direction(-1)# plt.title('风速风向玫瑰图')# 将label显示出来, 并调整位置plt.legend(loc=4, bbox_to_anchor=(1.15, -0.07))plt.show()def main():plot_wind_rose()if __name__ == '__main__':main()

3、另一种方式可以使用 windrose模块绘制

  • 详细情况可以参考这篇博客 Python可视化 | 多种风玫瑰图可视化合集



python3使用matplotlib绘制风速风向玫瑰图相关推荐

  1. CAD简单制作风向(风速)玫瑰图

    背景: 风向玫瑰图(简称风玫瑰图)也叫风向频率玫瑰图,它是根据某一地区多年平均统计的各个风向的百分数值,并按一定比例绘制,一般多用8个或16个罗盘方位表示,由于形状酷似玫瑰花朵而得名. 玫瑰图上所表示 ...

  2. Android 风向玫瑰图绘制

    /**风向玫瑰图绘制Demo,默认使用16个风向 * Created by yang_lei 2017/3/9. */ public class RoseChart extends View { // ...

  3. python绘制条形图-python3使用matplotlib绘制条形图

    本文实例为大家分享了python3使用matplotlib绘制条形图的具体代码,供大家参考,具体内容如下 绘制竖状条形图 代码 from matplotlib import pyplot as plt ...

  4. python画条形图-python3使用matplotlib绘制条形图

    本文实例为大家分享了python3使用matplotlib绘制条形图的具体代码,供大家参考,具体内容如下 绘制竖状条形图 代码 from matplotlib import pyplot as plt ...

  5. 【程序员股民系列】如何用python, pandas, numpy, matplotlib绘制每日个股成交额图

    上次分享了一段代码用于绘制每日行业交易额的图: [程序员股民系列]如何用python, pandas, numpy, matplotlib绘制每日行业成交额图 分析粒度略粗,只到行业这一层,把代码稍微 ...

  6. python matplotlib绘制多条折线图

    python matplotlib绘制多条折线图 代码 import matplotlib.pyplot as pltx = [6, 24, 48, 72] y1 = [87, 174, 225, 2 ...

  7. 用echarts做风速风向折线图

    因为功能需求,需要接收风速(m/s).风向(度数),来做折线图.看了网上的相关介绍,决定直接用echarts来做风速风向折线图(风向用度数来折线图展示实在不好看),具体效果图如下. 首先来介绍一下风向 ...

  8. 利用python—matplotlib绘制股票K线图

    利用python-matplotlib绘制股票K线图 成品展示: 用Python绘制股票K线图并不复杂,不过得做好一些准备工作例如相关库的安装,库的引入.日期格式的调整and表格转换 文章目录 利用p ...

  9. Python之matplotlib:利用matplotlib绘制八象空间三维图案例(知识点包括散点图、折线图、标注文字、图例、三维坐标)之详细攻略

    Python之matplotlib:利用matplotlib绘制八象空间三维图案例(知识点包括散点图.折线图.标注文字.图例.三维坐标)之详细攻略 目录

  10. 《延禧攻略》演员大起底——利用Python+bs+pyecharts分析绘制词云和玫瑰图

    最近大火的电视剧<延禧攻略>已宣告大结局,除了剧情走心,演员的那些头花啊头饰啊,戏服也都精致无比.本文利用Python抓取互联网上演员的部分数据,分析演员的姓名.星座.身高.体重和籍贯等信 ...

最新文章

  1. HDFS Java 客户端使用(Windows开发环境)
  2. android端使用http2.0,android Retrofit2+okHttp3使用总结
  3. spring @Value 获取配置文件为 null 常见的几种方式
  4. 字节Java高工面试:java软件开发工程师的市场薪资
  5. Python的序列切片
  6. Win8 Metro(C#)数字图像处理--3.3图像直方图计算
  7. vue-cli部署ngixs_Vue-cli项目部署到Nginx
  8. vantUI弹框组件 message文字,如何换行 ?
  9. hadoop启动HDFS命令
  10. Navicat\PLSQLDev连接oracle相关问题记录
  11. Brother-MFC系列打印机 PDF双面打印设置
  12. android仿黑客帝国字符雨
  13. 使用python将文字转为语音
  14. DVBS卫星识别流程
  15. byte(字节)根据长度转成kb(千字节)和mb(兆字节)
  16. 计算机硬件系统的主要性能指标
  17. web网页设计期末课程大作业——基于HTML仿唯品会电商项目的设计与实现
  18. 强化学习入门项目 Spinning up OpenAI (2) 基本使用
  19. XILINX XC7A200T-1FBG676C FPGA - 现场可编程门阵列
  20. 惊了!原来这就是今日头条的面试题!

热门文章

  1. php钱汇算成美元,PHP to USD
  2. 数据分析方法论和数据分析方法
  3. 估值模型不适用_揭开市盈率估值法的真正面纱 | 实战案例系列
  4. win10录屏_截屏、录屏这种小事,Win10自带功能比微信QQ强 N 倍!
  5. 复工复产到欧洲,深兰科技环卫产品亮相国际舞台
  6. jeecgboot修改登录界面、背景图等的页面记录
  7. 大道至简:企业需要的中台是什么?答案是:指挥官体系
  8. 7 Papers Radios | 陈丹琦关系抽取新SOTA;上海交大医疗版MNIST数据集
  9. 低代码平台表单引擎技术方案选型
  10. excel数据分析 - 17个计算统计类函数