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

《Python Crash Course》自定义Tooltip报错:ValueError参数长度不匹配

解决Plotly hover_name长度不匹配的ValueError问题

这个错误的核心是**hover_name参数的元素数量和x、y轴数据的数量不匹配**——你的x/y数据有30条,但hover_name只传了1条,Plotly要求所有关联数据的长度必须完全一致。

下面是最常见的几个出错点和修复方法:

  • 缩进错误导致hover_texts只生成1条数据
    如果你把向hover_texts添加元素的代码放在了遍历仓库的循环外面,就会只生成一条文本。比如错误写法:

    hover_texts = []
    for repo in response_dict['items']:
        x_values.append(repo['name'])
        y_values.append(repo['stargazers_count'])
    # 缩进错误,仅在循环结束后添加一次
    hover_texts.append(f"仓库: {repo['name']}\n描述: {repo['description']}")
    

    修复后要把append放在循环内部,确保每个仓库都对应一条悬浮文本:

    hover_texts = []
    for repo in response_dict['items']:
        x_values.append(repo['name'])
        y_values.append(repo['stargazers_count'])
        # 缩进正确,每个仓库都添加一条文本
        hover_texts.append(f"仓库: {repo['name']}\n描述: {repo['description']}")
    
  • hover_name参数传错了值
    检查你调用px.bar()的代码,是不是误把单个字符串传给了hover_name(比如hover_name="仓库信息"),而不是生成好的hover_texts列表。必须保证hover_name=hover_texts,绑定的是长度为30的列表。

  • 数据过滤导致长度不一致
    如果你的代码里有条件判断(比如跳过没有描述的仓库),但只过滤了x/y数据,没同步处理hover_texts,也会导致长度不匹配。可以在绘图前加一行打印验证:

    print(len(x_values), len(y_values), len(hover_texts))
    

    三个数值必须完全相等,否则排查循环里的条件逻辑,确保每处理一个x/y数据,就对应添加一条hover文本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 11:12:09