Python绘制风玫瑰图代码示例
时间: 2024-09-26 09:12:13 浏览: 54
在Python中,你可以使用`matplotlib`库中的`hist2d()`函数来创建风玫瑰图,这是一种常见的统计图表,用于展示二维数据分布,尤其在气象学中用于表示风向频率。以下是一个简单的例子:
```python
import matplotlib.pyplot as plt
import numpy as np
# 假设我们有一些模拟的风向数据 (0-359度)
wind_directions = np.random.randint(0, 360, size=1000)
# 创建一个2D直方图
counts, xedges, yedges = np.histogram2d(wind_directions, [0], bins=(360, 1))
# 计算角度范围并转换为弧度
x = (xedges[:-1] + xedges[1:]) / 2.
y = np.pi / 2 - yedges
# 绘制风玫瑰图
plt.pcolormesh(x, y, counts.T, shading='flat')
plt.colorbar(label='Frequency')
plt.xticks(np.arange(0, 360, 45), labels=['0', '45', '90', '135', '180', '225', '270', '315'])
plt.yticks([np.pi/2], ['North-South'])
plt.title('Wind Rose Plot')
plt.xlabel('Wind Direction (degrees)')
plt.ylabel('Orientation (azimuth)')
plt.show()
```
在这个例子中,我们首先生成了一个包含随机风向的数据数组,然后使用`hist2d()`函数计算每个方向出现的频率。最后,通过`pcolormesh()`、`xticks()`和`yticks()`等函数设置图例、刻度和标题。
阅读全文