You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Plotly Express使用facet分面绘图异常,如何实现按cat_2生成多子图效果?

问题修复方案

你代码的核心问题是range_x参数传入的边界值类型和x轴字段类型不匹配:

  • x轴指定的numerical_col是数值类型,但你给range_x传了字符串格式的["10000","500000"],会导致Plotly错误将x轴识别为分类轴,打乱分面的维度计算逻辑,最终导致分面功能失效。

修复后完整代码

import plotly.graph_objects as go
import plotly.express as px

# 仅修改range_x为数值类型,去掉数值两侧的引号
fig = px.histogram(df, nbins = 5, x = "numerical_col", color = "cat_1", animation_frame="date",
                  range_x=[10000, 500000], facet_col="cat_2")

# 可选配置:如果需要各分面子图的x轴范围独立不联动,可取消下方注释
# fig.update_xaxes(matches=None)

fig.update_layout(
    margin=dict(l=25, r=25, t=20, b=20))

fig.show()

额外校验项

如果修改后仍未生效,请确认两点:

  • 数据集df中的cat_2字段是分类类型,且存在至少2个不同的取值,若所有行的cat_2值一致,会默认仅生成一个子图
  • 若分面数量较多,可添加facet_col_wrap参数指定每行最多展示的分面数量,避免子图宽度被压缩到异常

内容的提问来源于stack exchange,提问作者Maxima

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 08:15:04