plotly express 中直接更改大小模式的任何方法

Any way to change the size mode directly in plotlyexpress

我有一个气泡图,我不确定它是使用直径还是面积来表示气泡大小。简短的 google 告诉我默认值似乎是直径,我听说人类倾向于通过面积来感知大小? (如果我错了请纠正我,但这正是我通过讲座了解到的内容。)因此,我试图找出一种方法将 sizemode 更改为 area 但是似乎无法以 plotly express 的方式做到这一点。这是我目前的代码供参考。

import plotly.express as px
fig = px.scatter(data_frame = df, x="hf_score", y="Happiness.Score",
             size="GNI_capita", color="region", hover_name="countries", size_max=60,
             labels={
                 "hf_score" : "Human Freedom Index 2017 (0-10)",
                 "Happiness.Score" : "Happiness Score 2017 (0-10)",
                 "GNI_capita" : "GNI/capita 2017 by Atlas Method ($USD)",
                 "region" : "World Bank Region"
             },
             title="Happiness & Freedom Score by Region & GNI/capita")

编辑:

使用的数据集:https://github.com/mattshu0410/data-1002-project/blob/master/merged_data.csv

图像创建:

go.scatter 绘制更新后的数据。如果不使用 sizeref=,气泡会缩小 sizeref= 以使其变大。因为没时间所以不能全部都点缀,但我觉得我有骨架

import plotly.graph_objects as go

size = df['GNI_capita'].tolist()
fig = go.Figure(data=[go.Scatter(x=df["hf_score"],
                                 y=df["Happiness.Score"],
                                 mode='markers',
                                 marker=dict(color=size,
                                             size=size,
                                             sizemode='area',
                                             sizeref=2.*max(size)/(40.**2))
                                )])

fig.show()