为什么我不能通过plt.scatter()指定图例?

时间:2014-01-21 13:56:13

标签: python matplotlib plot legend

我正在使用matplotlib。在这里,我无法通过在绘图时指定参数label来指定每个绘图的文本。

我的代码是这样的,它基于this threadscatter()通过指定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()

没有传说。

我该如何解决这个问题?

0 个答案:

没有答案