请选择 进入手机版 | 继续访问电脑版
爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 1953|回复: 1

[经验总结] python绘制风速风向图

[复制链接]

新浪微博达人勋

发表于 2023-5-23 20:55:43 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
# -*- coding: utf-8 -*-
"""
Created on Mon Mar 27 08:24:24 2023

@author: hp
"""

# 導入包
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
#-------設置支持中文----------------------#
import matplotlib as mpl
mpl.rcParams['font.sans-serif'] = ['SimHei']   #設置簡黑字體
mpl.rcParams['axes.unicode_minus'] = False
#-------自定義座標軸刻度格式----------------#
from matplotlib.ticker import FuncFormatter
np.random.seed(0)
data = pd.DataFrame(np.random.randint(20, 300, (4, 16)),
                    index=['0~0.2', '0.3~1.5', '1.6~3.3', '3.4~5.4'],
                    columns='N NNE NE ENE E ESE SE SSE S SSW SW WSW W WNW NW NNW'.split())
_sum = data.apply(np.sum)
data = data / _sum
N = 16 # 風速分佈爲16個方向
theta = np.linspace(0, 2*np.pi, N, endpoint=False) # 獲取16個方向的角度值
width = np.pi / N  # 繪製扇型的寬度,可以自行調整
labels = list(data.columns) # 自定義座標標籤爲 N , NSN, ……
# 開始繪圖
plt.figure(figsize=(8,8))
ax = plt.subplot(111, projection='polar')
for idx in data.index:
    # 每一行繪製一個扇形
    radii = data.loc[idx] # 每一行數據
    ax.bar(theta, radii, width=width, bottom=0.0, label=idx, tick_label=labels)
#------------------------------------#
ax.set_theta_zero_location('N') #設置零度方向北
ax.set_theta_direction(-1)    # 逆時針方向繪圖
#--------自定義yaxis的刻度格式-----------#
plt.gca().yaxis.set_major_formatter(FuncFormatter(lambda s, position: '{:.0f}%'.format(100*s)))
plt.title('風玫瑰圖示意圖')
plt.legend(loc=4, bbox_to_anchor=(1.15, -0.07)) # 將label顯示出來, 並調整位置
plt.savefig('E://py画图//4.png',dpi=600)
plt.show()

风向玫瑰图.py

1.72 KB, 下载次数: 10, 下载积分: 金钱 -5

评分

参与人数 1金钱 +10 收起 理由
pefuen + 10 赞一个!

查看全部评分

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2023-5-24 08:17:40 | 显示全部楼层
学习了
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表