在 python 中向散点图添加标签时出错

Error Adding labels to scatterplot graph in python

我正在尝试创建带标签的散点图,但出现下一个错误:TypeError: cannot unpack non-iterable float object

你知道我做错了什么吗?

label = ['Tuvalu', 'Nauru', 'Kiribati', 'Marshall Islands', 'Palau', 'Micronesia']
x = [ 1, 1500, 340, 8902, 5, 250]
y = [ 1, 4, 10, 3, 5, 23]

plt.scatter (x,y)
ax = plt.gca()
ax.set_xscale('log')

for i, label in range(len(label)):
    ax.annotate(label,x[i], y[i]) 

我漏掉了一些括号:

 ax.annotate(label,(x[i], y[i])) 

对于您可以使用的标签

for i in range(len(label)):
   ax.annotate(label[i],(x[i], y[i])) 

我通常使用 Plotly,因为它是一个优秀的可视化库。您的代码中的错误是因为 for 循环。如果你愿意,你可以使用 Plotly。

import plotly.graph_objects as go
fig = go.Figure()
label = ['Tuvalu', 'Nauru', 'Kiribati', 'Marshall Islands', 'Palau', 'Micronesia']
x = [ 1, 1500, 340, 8902, 5, 250]
y = [ 1, 4, 10, 3, 5, 23]
for i in range(0,6):
  fig.add_trace(go.Scatter(x=[x[i]],y=[y[i]],mode='markers',name=label[I]))
fig.show()