我有一个动画散点图,显示了多年来每个国家的人均 GDP x 预期寿命。我想添加一个工具提示,当有人将鼠标悬停在气泡上时会出现,我希望它显示气泡对应的国家/地区的名称。
我尝试使用 mplcursors 来执行此操作,但无法弄清楚如何显示国家/地区的名称,因为它在每个气泡中都是不同的。
这是情节:
ax.scatter(y = data['lifeExpec'],
x = data['gdp'],
s = data['population']/40000,
c = data['region'].astype('category').cat.codes,
cmap = cm.viridis,
edgecolors = 'none',
alpha = 0.5)
c1 = mplcursors.cursor(ax, hover=True)
@c1.connect("add")
def _(sel):
sel.annotation.set_text(<????>)
sel.annotation.set(position=(-15,15),
fontsize=8,
ha='center',
va='center')
这是我的数据框示例:
country, gdp, lifeExpec, year, population, region
USA, 20000, 70, 2005, 100000, America
USA, 21000, 72, 2007, 104000, America
Canada, 20500, 71, 2005, 50000, America
Canada, 23000, 74, 2007, 53000, America