使用 plotly 的共享轴极坐标子图
Shared axis polar subplots using plotly
我正在使用子图绘制不同的散点图。但我希望它们都具有相同的范围 [0,1]。我试过使用 radialaxis 和 update_layout。然而,只有第一个子图发生了变化。有什么方法可以修改所有子图吗?
lst = range(1,rows+1)
n_rows = list(itertools.chain.from_iterable(itertools.repeat(x, cols) for x in lst))
df_grouped = df.groupby('cluster').mean()
fig = make_subplots(rows=rows, cols=cols, specs=[[{'type': 'polar'}]*cols]*rows,
horizontal_spacing=0.05, vertical_spacing=0.06)
for col, (row, index) in enumerate(zip(n_rows, df_grouped.index.values)):
fig.add_trace( go.Scatterpolar(name="Cluster "+str(int(index)),
r=df_grouped.loc[df_grouped.index == index].values[0],
theta=df_grouped.columns.values),
row, col%cols+1)
fig.update_traces(fill='toself')
fig.update_layout(polar=dict(radialaxis=dict(range=[0, 1])),
legend=dict(x=0.20,y=1.15), legend_orientation="h",
height=800, width=900,
margin=dict(l=5, r=5, t=5, b=5) )
p = plot(fig, output_type='div')
displayHTML(p)
提前致谢。
是的:每个极地子图在 layout
中都有自己的键,因此您需要做类似 update_layout(polar=dict(...), polar2=dict(...), polar3=dict(...), ...)
的事情
我们还没有像 update_xaxes
那样批量更新所有 polar
的单一功能,但我们很快就会:)
我正在使用子图绘制不同的散点图。但我希望它们都具有相同的范围 [0,1]。我试过使用 radialaxis 和 update_layout。然而,只有第一个子图发生了变化。有什么方法可以修改所有子图吗?
lst = range(1,rows+1)
n_rows = list(itertools.chain.from_iterable(itertools.repeat(x, cols) for x in lst))
df_grouped = df.groupby('cluster').mean()
fig = make_subplots(rows=rows, cols=cols, specs=[[{'type': 'polar'}]*cols]*rows,
horizontal_spacing=0.05, vertical_spacing=0.06)
for col, (row, index) in enumerate(zip(n_rows, df_grouped.index.values)):
fig.add_trace( go.Scatterpolar(name="Cluster "+str(int(index)),
r=df_grouped.loc[df_grouped.index == index].values[0],
theta=df_grouped.columns.values),
row, col%cols+1)
fig.update_traces(fill='toself')
fig.update_layout(polar=dict(radialaxis=dict(range=[0, 1])),
legend=dict(x=0.20,y=1.15), legend_orientation="h",
height=800, width=900,
margin=dict(l=5, r=5, t=5, b=5) )
p = plot(fig, output_type='div')
displayHTML(p)
提前致谢。
是的:每个极地子图在 layout
中都有自己的键,因此您需要做类似 update_layout(polar=dict(...), polar2=dict(...), polar3=dict(...), ...)
我们还没有像 update_xaxes
那样批量更新所有 polar
的单一功能,但我们很快就会:)