Python Matplotlib-堆叠条形图和工具提示

Python Matplotlib-堆叠条形图和工具提示,python,matplotlib,tooltip,Python,Matplotlib,Tooltip,当鼠标悬停在条形图上时,将返回工具提示。我想在堆叠条形图的情况下修改代码,并在鼠标悬停在条形图的部分时获得该部分的特定工具提示。 我不知道如何相应地修改格式化程序 这里是我努力实现的一个例子。如果鼠标悬停在第三个栏的蓝色部分,工具提示将包含信息“ggg,hhh,iii”,如果鼠标悬停在第三个栏的绿色部分,工具提示将包含信息“555666” mpldatacursor格式化程序的kwargs包含矩形补丁的详细信息-具体来说,底部,左侧,高度,宽度,等等。在这种情况下,我们只需要知道矩形的底部在哪

当鼠标悬停在条形图上时,将返回工具提示。我想在堆叠条形图的情况下修改代码,并在鼠标悬停在条形图的部分时获得该部分的特定工具提示。 我不知道如何相应地修改
格式化程序

这里是我努力实现的一个例子。如果鼠标悬停在第三个栏的蓝色部分,工具提示将包含信息“ggg,hhh,iii”,如果鼠标悬停在第三个栏的绿色部分,工具提示将包含信息“555666”


mpldatacursor
格式化程序的
kwargs
包含矩形补丁的详细信息-具体来说,
底部
左侧
高度
宽度
,等等。在这种情况下,我们只需要知道矩形的底部在哪里-如果其
0
,我们可以使用
考勤
设置标签,否则我们要使用
考勤2

因此,您可以将
格式化程序
函数更改为:

def formatter(**kwargs):
    dist = abs(np.array(x) - kwargs['x'])
    i = dist.argmin()
    labels = attendance if kwargs['bottom'] == 0 else attendance2
    return '\n'.join(labels[i])
结果如下:


当你将鼠标悬停在酒吧的某一特定区域时,你的预期结果是什么?@tom。我编辑了我的帖子,加入了我试图实现的一个例子。
def formatter(**kwargs):
    dist = abs(np.array(x) - kwargs['x'])
    i = dist.argmin()
    labels = attendance if kwargs['bottom'] == 0 else attendance2
    return '\n'.join(labels[i])