用python读取csv数据绘制风玫瑰图
时间: 2023-09-20 17:13:10 浏览: 138
由3向风速风向数据绘制风玫瑰图,包括风速玫瑰图和风向玫瑰图附matlab代码+仿真结果和运行方法+仿真结果和运行方法.zip
要使用 Python 读取 CSV 数据并绘制风玫瑰图,你可以使用 Pandas 库来读取 CSV 文件,然后使用 Matplotlib 库绘制图表。下面是一个示例代码:
```python
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
# 读取 CSV 文件
data = pd.read_csv('your_file.csv')
# 提取风向和风速列数据
wind_directions = data['wind_direction']
wind_speeds = data['wind_speed']
# 统计每个方向上的风速总和
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()
```
请确保将 `your_file.csv` 替换为你实际的 CSV 文件路径,以及根据你的数据文件调整风向和风速列的名称。这段代码会读取 CSV 文件中的数据,并绘制相应的风玫瑰图。你可以根据实际需求修改数据和调整图表样式。
阅读全文