Plotly 的 Scatterpolar:如何更改 theta 的范围?

Plotly's Scatterpolar: How to change theta's range?

我正在使用 Plotly 的散点图来可视化多个数据集。

这是我的代码的一部分。下面,我创建了 scatterpolar 实例:

go.Scatterpolar(
    r=[dataset_dataframe['word_count'].median(),
       dataset_dataframe['char_count'].median(),
       dataset_dataframe['capitals'].median(),
       dataset_dataframe['num_exclamation_marks'].median(),
       dataset_dataframe['num_punctuation'].median()],

    name=dataset_name,
    theta=['No. of Words', 'No. of Characters', 'No. of Capitals', 'No. of Exclamation Marks', 'No. of Punctuations'],
    fill='toself',
    line=dict(color='brown'),
    subplot=subplot_name),
)

这里我把它放在一个布局中:

fig.update_layout(
    polar=dict(
    radialaxis=dict(visible=True, )),
    title='Dataset Statistics')

我对多个数据框执行此操作,这样我就可以轻松地比较它们。结果很整洁,看起来像这样:

不幸的是,theta 的范围似乎是使用每个散射极化实例的 r 的最大值自动计算的。

这不好,因为为了轻松比较数据集,我需要 theta 所有绘图都在同一范围内。

问题:如何将theta的范围设置为自定义值,例如从1到100?

radialaxis=dict(visible=True, )), 中您应该可以添加 range=[ 1,100 ]

作为补充,因为我花了一个多小时才弄清楚:如果你正在处理子图,这行可能是你的朋友:

fig.update_polars(radialaxis=dict(range=[0, 1]))

这会将范围应用于所有子图。如果你只是调用 fig.update_layout() 它只会将范围应用于第一个子图。