Seaborn - 极地情节 - 如何改变FacetGrid中的度数

时间:2017-10-14 23:01:02

标签: python visualization data-visualization seaborn

我正在使用Seaborn制作极地情节。这是我的代码:

r = np.linspace(0, 10, num=100)
df = pd.DataFrame({'r': r, 'rs': r})
df = pd.melt(df, id_vars=['r'], var_name='measure', value_name='theta')
g = sns.FacetGrid(df, col="measure", hue="measure",
              subplot_kws=dict(projection='polar'), size=4,
              sharex=False, sharey=False, despine=False)

g.map(plt.scatter, "theta", "r")

,输出为: enter image description here

如你所见度数是0,45,90,...... 我该如何更改此间隔?

编辑1 :感谢@Julio Daniel Reyes,学位问题已经解决,但现在我还有另一个问题:我需要在点之间划一条线。我这里不需要点。我查看了matplotlib文档,但无法找到解决方案。我试过linewidths,但在.scatter(x,y,linewidths)

中没有为我工作

我需要这样的东西:

enter image description here

编辑2 因为我改变了我的代码:

ax = plt.subplot(111, polar=True)
ax.scatter(x=[radians(x) for x in df['degree'].values], 
y=df['value'].values)

用情节取代散点图,对我没有用!

问候。

1 个答案:

答案 0 :(得分:2)

你可以用这样的弧度设置滴答:

angle_ticks = np.multiply([0.5, 1.0, 1.5, 1.75, 2.0], np.pi)
g.set(xticks=angle_ticks)

或者如果您愿意

n_ticks = 10
angle_ticks = np.linspace(0, 2 * np.pi, num=n_ticks + 1)[:-1]
g.set(xticks=angle_ticks)

更新1: 要获得一行代替点,您只需要将plt.scatter替换为plt.plot,如下所示:

g.map(plt.plot, "theta", "r")

更新2: 有关您的最新代码:

ax.plot([radians(x) for x in df['degree'].values], df['value'].values)