如何在散点图中的点均值上方添加标签?

时间:2019-09-14 22:13:15

标签: python python-3.x matplotlib

我有一个散点图,需要在其上的点均值上添加标签。

数据是形状为(1000,2)的数字数组

scatter=plt.scatter(data[:,0],data[:,1], c = labels, label = set(labels))
plt.legend(*scatter.legend_elements(),
                 title="Classes",loc='center left', bbox_to_anchor=(1, 0.5))

plt.show()

enter image description here

散点图有10种不同颜色的标签。

理想的输出是将9打印在黄点中心/均值附近的某个地方。

1 个答案:

答案 0 :(得分:0)

您可以使用matplotlib的{​​{3}}或text

要计算坐标,您只需要两个数据坐标的平均值,labels为9:

# labels = np.array(labels)  # just if labels is not a np.array yet

lblxy = np.mean(data[labels==9], 0)

plt.text(*lblxy, '9', ha='center', va='center')