我有一个散点图,需要在其上的点均值上添加标签。
数据是形状为(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()
散点图有10种不同颜色的标签。
理想的输出是将9打印在黄点中心/均值附近的某个地方。
答案 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')