导航:首页 > 编程语言 > pythonwindrose

pythonwindrose

发布时间:2024-02-03 02:59:44

‘壹’ python气象绘图windrose

#导入包

import numpy as np

import pandas as pd

from matplotlib import pyplot as plt

from matplotlib.ticker import FuncFormatter

import matplotlib as mpl

mpl.rcParams['font.sans-serif'] = ['SimHei']  #设置简黑字体

mpl.rcParams['axes.unicode_minus'] = False  #设置负号正常显示

#----获取数据DataFrames,index*columns。index表示不同值范围,columns表示十六个风向

data = pd.DataFrame(wind_d_max_num_per,

                    index=['<15', '15~25', '25~35', '35~45',"≥45"],

                    columns='N NNE NE ENE E ESE SE SSE S SSW SW WSW W WNW NW NNW'.split())

N = 16 # 风速分布为16个方向

theta = np.linspace(0, 2*np.pi, N, endpoint=False) # 获取16个方向的如手角度值

width = np.pi / 4 * 0.4  # 绘制扇型的宽度,可以自行调整0.5时是360,充满,有间隔的话小于0.5即可

labels = list(data.columns) # 自定义坐标标签为 N , NSN, …渣笑嫌…# 开始绘图

plt.figure(figsize=(6,6),dpi=600)

ax = plt.subplot(111, projection='polar')

#----自定义颜色

mycolor =['cornflowerblue','orange','mediumseagreen','lightcoral','cyan']

#----循环画风玫瑰图

i=0

for idx in data.index:

    print(idx)

    # 每一行绘制一个扇形

    radii = data.loc[idx] # 每一行数据

    if i == 0:

        ax.bar(theta, radii, width=width, bottom=0.0, label=idx, tick_label=labels,

          color=mycolor[i])

    else:

        ax.bar(theta, radii, width=width, bottom=np.sum(data.loc[data.index[0:i]]), label=idx, tick_label=labels,

          color=mycolor[i])

    i=i+1

#此种画法,注意bottom设置,第一个bottom为0,后续bottom需要在前一个基础上增加。

ax.set_xticks(theta)

ax.set_xticklabels(labels,fontdict={'weight':'bold','size':15,'color':'k'})

ax.set_theta_zero_location('N') #设置零度方向北

ax.set_theta_direction(-1)    # 逆时针方向绘图

#----设置y坐标轴以百分升则数显示

plt.gca().yaxis.set_major_formatter(FuncFormatter(lambda s, position: '{:.0f}%'.format(100*s)))

plt.legend(loc=4, bbox_to_anchor=(0.05, -0.25),fontsize=12) # 将label显示出来, 并调整位置

#----保存图片

plt.savefig("./windrose1.svg")

阅读全文

与pythonwindrose相关的资料

热点内容
python自动补齐 浏览:903
苹果wifi安卓怎么连接不上 浏览:933
为什么有的app只能用苹果支付 浏览:174
手游云顶文件夹 浏览:936
msvc和mingw都是编译器吗 浏览:424
数控机床编程解析 浏览:385
新老鸟虚拟资源网解压码 浏览:558
如何用域用户登录ftp服务器 浏览:22
如何将读书郎平板升级安卓系统 浏览:339
XC16编译器有免费的吗 浏览:499
编译和程序编辑 浏览:848
androidv4和v7 浏览:714
iphoneapp怎么从文件夹安装 浏览:22
去掉加密平板电脑 浏览:377
二叉树用什么编译器写 浏览:323
手机除了主板还有什么app 浏览:183
如何还原在服务器上删除的文件 浏览:851
pdf转成黑白的 浏览:21
程序员为什么是单身 浏览:928
选项卡中的命令组被称为什么 浏览:261