为了账号安全,请及时绑定邮箱和手机立即绑定

使用 Matplotlib 限制气泡图中的标签

使用 Matplotlib 限制气泡图中的标签

慕慕森 2022-05-19 16:05:40
我使用以下代码 绘制数据:fig, (ax) = plt.subplots(1,1, figsize=(12,8))ax.scatter(x=df['GDP(PPP) per capita'],            y=df['Energy use'],            s=df['Population']/100000,            alpha=0.4,           c=np.arange(132),            cmap='tab10',             edgecolors="gray",            linewidth=0.2)# Bubble labelsx,y = df['GDP(PPP) per capita'], df['Energy use']for i, txt in enumerate(df['Country Name']):    plt.annotate(txt, (x[i], y[i]))    print(i, txt, x[i], y[i], df['Population'][i], df['Bubble color'][i])plt.show()这是结果:如您所见,标签重叠且难以阅读。我想限制要显示的标签,即只有我从数据框中的“国家名称”列中选择的国家。怎么做?谢谢。
查看完整描述

1 回答

?
白衣非少年

TA贡献1155条经验 获得超0个赞

这是过滤Country Name值的一种方法


chosen_countries = ['Norway', 'Canada'] # fill in the list with countries of your choice


x,y = df['GDP(PPP) per capita'], df['Energy use']

for i, txt in enumerate(df['Country Name']):

    if txt in chosen_countries:

        plt.annotate(txt, (x[i], y[i]))

        print(i, txt, x[i], y[i], df['Population'][i], df['Bubble color'][i])


plt.show()


查看完整回答
反对 回复 2022-05-19
  • 1 回答
  • 0 关注
  • 165 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信