python 风玫瑰图
时间: 2023-07-14 22:59:56 浏览: 90
Python 中绘制风玫瑰图可以使用 Matplotlib 库。风玫瑰图主要用于展示风向和风速的分布情况。下面是一个简单的绘制风玫瑰图的示例代码:
```python
import matplotlib.pyplot as plt
import numpy as np
# 随机生成风向和风速数据
wind_directions = np.random.randint(0, 360, 100)
wind_speeds = np.random.randint(0, 10, 100)
# 统计每个方向上的风速总和
num_bins = 16
bins = np.linspace(0, 360, num_bins + 1)
hist, _ = np.histogram(wind_directions, bins, weights=wind_speeds)
# 创建风玫瑰图
fig, ax = plt.subplots(subplot_kw={'projection': 'polar'})
theta = np.linspace(0.0, 2 * np.pi, num_bins, endpoint=False)
radii = hist
width = np.pi / 8
bars = ax.bar(theta, radii, width=width, bottom=0.0)
# 设置刻度和标签
ax.set_xticks(theta)
ax.set_xticklabels(['N', 'NNE', 'NE', 'ENE', 'E', 'ESE', 'SE', 'SSE',
'S', 'SSW', 'SW', 'WSW', 'W', 'WNW', 'NW', 'NNW'])
ax.set_yticks([0, 5, 10])
ax.set_yticklabels(['0', '5', '10'])
plt.show()
```
这段代码会生成一个随机的风向和风速数据,并绘制相应的风玫瑰图。你可以根据实际需求修改数据和调整图表样式。
阅读全文