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

plotly中ff.create_distplot设置rug_text后技能名称文本不显示如何解决

问题根因

ff.create_distplot的rug_text参数要求传入的嵌套列表中,每个子列表的长度必须和对应的数据序列的样本量完全一致。你当前两组数据序列的样本量均为94条,但传入的rug_text两个子列表分别只有11和8个元素,长度不匹配导致Plotly无法将自定义文本和rug上的点一一绑定,只能默认展示数值内容。

解决方案

你需要先根据每个样本点的数值对应的技能,补全文本列表,保证每个子列表长度和对应数据序列的样本量一致,示例调整逻辑如下:

# 先建立分值到技能名称的映射关系,可根据你的实际对应规则调整
ml_score_skill_map = {
    46.0: 'REST',
    78.0: 'Linux',
    12.0: 'Test-driven Development (TDD)',
    93.0: 'PostgreSQL',
    42.0: 'Python',
    50.0: 'Flask',
    94.0: 'JavaScript',
    59.0: 'jQuery'
    # 补全所有分值对应的技能即可
}
py_score_skill_map = {
    46.0: 'Linux',
    12.0: 'PostgreSQL',
    62.0: 'Python',
    83.0: 'Flask',
    88.0: 'Object-oriented Programming (OOP)',
    42.0: 'Machine Learning',
    55.0: 'Data Science',
    60.0: 'Apache Spark',
    0.0: '对应技能名',
    19.0: '对应技能名',
    50.0: '对应技能名'
    # 补全所有分值对应的技能即可
}

# 生成和样本长度完全匹配的rug_text
rug_text = [
    [ml_score_skill_map[score] for score in sample_df["machine learning engineer"]],
    [py_score_skill_map[score] for score in sample_df["python developer"]]
]

# 再调用绘图方法即可正常显示自定义技能文本
colors = ["#333F44", "#37AA9C"]
fig = ff.create_distplot(
    [
        np.array(sample_df["machine learning engineer"]),
        np.array(sample_df["python developer"]),
    ],
    sample_df.columns,
    show_hist=False,
    rug_text=rug_text,
    colors=colors,
)
fig.update_layout(title_text="DistPlot")
fig.show()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 17:15:01