我使用以下代码 绘制数据: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()
添加回答
举报
0/150
提交
取消