我正在使用matplotlib。在这里,我无法通过在绘图时指定参数label
来指定每个绘图的文本。
我的代码是这样的,它基于this thread。 scatter()
通过指定label
来工作。但是当我改变分散时,它不起作用。
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
for i in range(np.min((range(len(data)), 200))):
label = ""
if predictedLabels[i] == 0 and groundtruthLabels[i] == 0:
ax.scatter(data[i,1], data[i,2], data[i,3], c='b', marker='1', label='TN')
if predictedLabels[i] == 1 and groundtruthLabels[i] == 0:
ax.scatter(data[i,1], data[i,2], data[i,3], c='r', marker='1', label='FN')
if predictedLabels[i] == 0 and groundtruthLabels[i] == 1:
ax.scatter(data[i,1], data[i,2], data[i,3], c='r', marker='o', label='FP')
if predictedLabels[i] == 1 and groundtruthLabels[i] == 1:
ax.scatter(data[i,1], data[i,2], data[i,3], c='b', marker='o', label='TP')
# axis
ax.set_xlabel('Dim 1')
ax.set_ylabel('Dim 2')
ax.set_zlabel('Dim 3')
# legend
plt.legend(loc='upper left', numpoints=1, ncols=3, fontsize=8, bbox_to_anchor=(0,0))
plt.show()
没有传说。
我该如何解决这个问题?