python根据csv数据渲染风玫瑰图

  • Post author:
  • Post category:python




看了其他的文章罗里吧嗦,还是没讲清楚,于是自己看了官方资料分享一下代码



data_windrose.csv文件,使它跟main.py同级即可

在这里插入图片描述



main.py

#  引用部分
import matplotlib.pyplot as plt  # 导入绘图模块
import pandas as pd  # 导入数据处理模块
import numpy as np  # 导入数据处理模块
import matplotlib
from windrose import WindroseAxes  # 导入风玫瑰图模块

matplotlib.rcParams['font.sans-serif'] = ['FangSong']  # 用仿宋字体显示中文
matplotlib.rcParams['axes.unicode_minus'] = False  # 正常显示负号的设置

# 读取数据
data = pd.read_csv('data_windrose.csv', header=0)
data_wd = np.array(data['WIND_D'])  # 将风向转为ndarray矩阵-风向矩阵
data_ws = np.array(data['WIND_S'])  # 将风速转为ndarray矩阵-风速矩阵

# 绘制风玫瑰图
ax = WindroseAxes.from_ax()  # 调用风玫瑰图模块绘图
ax.bar(data_wd,  # 设置风向数据
       data_ws,  # 设置风速数据
       nsector=16,  # 风向分为16个区间
       bins=6,  # 风速分档
       normed=True,
       opening=0.8,  # 设置射线夹角
       edgecolor='white',  # 设置边框颜色为白色
       alpha=1)  # 设置透明度

# 设置图例
ax.set_legend(loc='best', fontsize=12)  # 设置图例位置
plt.savefig('风玫瑰图.pdf',  # 设置图片保存名称与图片标题名称一致
            dpi=300)  # 设置图片的分辨率



版权声明:本文为weixin_45843676原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。