Seaborn - 极坐标图 - 如何更改FacetGrid中的度数

Seaborn - 极坐标图 - 如何更改FacetGrid中的度数

问题描述:

我正在使用Seaborn来绘制极坐标图。这里是我的代码:Seaborn - 极坐标图 - 如何更改FacetGrid中的度数

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丹尼尔雷耶斯,度问题已经解决,但现在我有另一个问题:我需要一个点之间的线。这里我不需要点。我检查了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

应该尝试用'ax.plot([弧度(X)为DF [ '度' X]值],DF [ '值']值)' –

+0

如果适合您,请接受我的回答。 –

您可以设置弧度蜱是这样的:

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.scatterplt.plot是这样的:

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

更新2: 为了您的最新代码:

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

tnx,但没有用我的新代码。 (有问题编辑)ax = plt.subplot(111,polar = True) ax.scatter(x = [radians(x)for df ['degree'] .value],y = df ['value'] .values) – Adel

+1

更新了答案,很高兴它的工作 –