2015-09-26 127 views
1

使用Seaborn 0.6.0如果我有一个熊猫DF看起来像这样(只更长的时间):Seaborn:如何在圆形图上绘制风速v方向?

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为圆形网格,代表指南针方向和风速的光线发出从中心以速度代表射线的长度?

+0

我不知道是否有seaborn办法做到风玫瑰,不过你没看到http://matplotlib.org/examples/pie_and_polar_charts/polar_bar_demo.html? – areuexperienced

+0

这是一个matplotlib问题。 – mwaskom

回答

3

正如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