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

Tho*_*ers 3 python plot matplotlib

如果我的熊猫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 
Run Code Online (Sandbox Code Playgroud)

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

iay*_*ork 5

正如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)
Run Code Online (Sandbox Code Playgroud)

产生此图:

在此处输入图片说明

像往常一样,事先导入Seaborn确实会使图表更具吸引力。相同的代码将产生:

在此处输入图片说明