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

使用mplcursors点击pandas堆叠柱状图显示对应柱子名称如何实现

问题原因

你当前写法的问题出在索引取值逻辑上:sel.target.index返回的是x轴类别的索引,你的示例里只有两个日期Aug-2015对应索引0、Sep-2015对应索引1,不管你点同一组堆叠柱的哪个分段,拿到的索引都是同一个x轴序号,所以永远只会取出名字列表的前两个值,出现全是Ada的问题。

解决方法

pandas绘制的堆叠柱状图,每个分段(矩形块)的artist对象自带label属性,值就是透视表对应的列名也就是你要的Name字段值,直接读取即可,不需要自己手动维护名字列表。

修改后的点击事件绑定代码如下:

mplcursors.cursor(plot).connect(
    "add", lambda sel: sel.annotation.set_text(sel.artist.get_label())
)

另外补充一个你代码里的小问题:df.sort_values('Date')没有赋值给原变量,排序操作不会生效,建议改成df = df.sort_values('Date')。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 15:00:05