Seaborn:如何在圆形图上绘制风速v方向?

时间:2015-09-26 05:26:20

标签: python matplotlib plot

如果我的pandas df看起来像这样(只有更长时间),请使用Seaborn 0.6.0:

windSpeed  windBearing
15.37          165
17.49          161
16.41          154
15.54          164
17.38          162
17.80            0
17.36          181
17.35          181
15.96          175
15.86          157 

如何将windBearing绘制为圆形网格,表示罗盘方向,windSpeed是从中心发出的光线,速度由光线长度表示?

1 个答案:

答案 0 :(得分:4)

正如mwaskom在评论中所说,这是直接的matplotlib,而不是Seaborn。像这样:

import pandas as pd
from matplotlib import pyplot as plt
from math import radians

ax = plt.subplot(111, polar=True)
ax.scatter(x=[radians(x) for x in df['windBearing'].values], y=df['windSpeed'].values)
ax.set_theta_zero_location('N')
ax.set_theta_direction(-1)

产生此图表:

enter image description here

与往常一样,事先进口Seaborn确实使图表更具吸引力;然后相同的代码将产生:

enter image description here