我想在matplotlib中做一个散点图,我找不到向点添加标签的方法 . 例如:
scatter1=plt.scatter(data1["x"], data1["y"], marker="o", c="blue", facecolors="white", edgecolors="blue")
我希望“y”中的点标记为“点1”,“点2”等 . 我无法弄明白 .
也许使用plt.annotate:
import numpy as np import matplotlib.pyplot as plt N = 10 data = np.random.random((N, 4)) labels = ['point{0}'.format(i) for i in range(N)] plt.subplots_adjust(bottom = 0.1) plt.scatter( data[:, 0], data[:, 1], marker='o', c=data[:, 2], s=data[:, 3] * 1500, cmap=plt.get_cmap('Spectral')) for label, x, y in zip(labels, data[:, 0], data[:, 1]): plt.annotate( label, xy=(x, y), xytext=(-20, 20), textcoords='offset points', ha='right', va='bottom', bbox=dict(boxstyle='round,pad=0.5', fc='yellow', alpha=0.5), arrowprops=dict(arrowstyle = '->', connectionstyle='arc3,rad=0')) plt.show()
1 回答
也许使用plt.annotate: