Matplotlib的传奇努力没有成功

时间:2016-01-18 22:48:34

标签: python matplotlib legend

我有这样的代码:

import matplotlib as mpl
from matplotlib import pyplot as plt

mpl.rcParams['legend.numpoints'] = 1
plt.legend(bbox_to_anchor=(0., 1.02, 1., .102), loc=3,
           ncol=5, mode="expand", numpoints=1, borderaxespad=0.)

但它不起作用。 poitns的数量仍然是3。 有任何想法吗? enter image description here

1 个答案:

答案 0 :(得分:4)

图中的图例处理有3个点来自散点图。您可以使用scatterpoints kwarg来控制它们。

numpoints用于使用plt.plot创建的对象,而不是plt.scatter

plt.legend(bbox_to_anchor=(0., 1.02, 1., .102), loc=3,
           ncol=5, mode="expand", numpoints=1, borderaxespad=0., 
           scatterpoints=1)

或者

mpl.rcParams['legend.scatterpoints'] = 1