Plotly Express散点图点尺寸调整无效问题求助
解决Plotly散点图点尺寸调整无效的问题
问题根源
Plotly Express的size参数会自动对传入的尺寸数据做归一化缩放——不管你把数值放大多少倍(比如乘1000),它都会把数据映射到默认的尺寸区间里,所以视觉上完全看不出变化。
快速解决
在px.scatter()里加上size_max参数,手动设定点的最大显示尺寸,这样你的尺寸数据就能对应到实际的视觉大小了。如果需要控制最小尺寸,还可以配合size_min参数。
修改后的完整代码
data_wspd = my_data.loc[:, ["time","wspd"]] print(data_wspd) wspd_grouped = data_wspd.groupby("wspd") df = { "wspd": [], "wspd_count": [], "wspd_size" :[] } for name, group in wspd_grouped: df["wspd"].append(name) df["wspd_count"].append(len(group)) # 其实这里不用乘1000也可以,用原始count就行,靠size_max控制实际大小 df["wspd_size"] = df["wspd_count"] fig_wspd = px.scatter(df, x="wspd", y="wspd_count", size="wspd_size", color="wspd", hover_name="wspd", size_max=100, # 关键:自己调整这个数值,直到点大小合适 # 可选:如果需要最小点尺寸,添加 size_min=5 ) fig_wspd.show() fig_wspd.write_html("wspd_beeswarm.html")
蜂群图优化建议
如果要做标准的蜂群图,还可以给x轴加抖动效果,避免点重叠:
fig_wspd = px.scatter(df, x="wspd", y="wspd_count", size="wspd_size", color="wspd", hover_name="wspd", size_max=100, x_jitter=0.3, # 让x轴的点分散开,更像蜂群图 )
内容的提问来源于stack exchange,提问作者404rorre
相关产品推荐
相关产品推荐

