我使用以下代碼 繪制數(shù)據(jù):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()這是結(jié)果:如您所見(jiàn),標(biāo)簽重疊且難以閱讀。我想限制要顯示的標(biāo)簽,即只有我從數(shù)據(jù)框中的“國(guó)家名稱”列中選擇的國(guó)家。怎么做?謝謝。
1 回答

白衣非少年
TA貢獻(xiàn)1155條經(jīng)驗(yàn) 獲得超0個(gè)贊
這是過(guò)濾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()
添加回答
舉報(bào)
0/150
提交
取消