python风玫瑰图
时间: 2023-10-15 11:24:12 浏览: 111
Python中绘制风玫瑰图可以使用matplotlib库的polar图形模块。以下是一个简单的示例代码:
```python
import numpy as np
import matplotlib.pyplot as plt
# 创建数据
theta = np.linspace(0, 2*np.pi, 8, endpoint=False) # 设定角度
r = 10 + 20*np.random.rand(8) # 设定半径,这里使用随机数生成
# 绘制风玫瑰图
plt.figure(figsize=(6, 6))
ax = plt.subplot(111, polar=True) # 创建极坐标子图
bars = ax.bar(theta, r, width=0.4, alpha=0.8) # 绘制柱状图
# 设置柱状图颜色
for r, bar in zip(r, bars):
bar.set_facecolor(plt.cm.viridis(r/30)) # 根据半径值设置颜色
# 设置极坐标轴刻度和标签
ax.set_yticklabels([]) # 隐藏半径刻度标签
ax.set_xticks(theta) # 设置角度刻度位置
ax.set_xticklabels(['N', 'NE', 'E', 'SE', 'S', 'SW', 'W', 'NW']) # 设置角度刻度标签
# 添加标题和网格线
plt.title("Wind Rose Plot")
ax.grid(True)
# 显示图形
plt.show()
```
这段代码会生成一个随机数据的风玫瑰图,你可以根据自己的需求修改角度、半径等参数来绘制自定义的风玫瑰图。
阅读全文