您可以使用 numpoints 关键字更改图例中显示的标记数:
import matplotlib.pyplot as plt
import numpy as np
x1 = y1 = np.linspace(0, 10, 100)
x2 = np.sin(x1)
y2 = np.cos(y1)
plt.plot(x1,x2,'g--^', label='regional')
plt.plot(y1,y2,'b-o', label='local')
plt.legend( loc='upper left', numpoints = 1 )
plt.show()
我相信标记出现两次(默认情况下)的原因是因为matplotlib试图显示标记之间的线型连接 . 没有连接器时看起来有点奇怪 .
如果情节有实线和虚线,
plt.plot(x1,x2,'g--^', label='regional')
plt.plot(y1,y2,'b-o', label='local')
然后传说看起来像这样:
现在,您可以在图例(以及图表)中看到标记之间的线条效果 .
如果您根本不想要任何图例处理,那么您可以使用
plt.legend(..., handlelength=0)
例如,
import numpy as np
import matplotlib.pyplot as plt
x1 = y1 = np.linspace(0, 10, 100)
x2 = np.sin(x1)
y2 = np.cos(y1)
plt.plot(x1,x2,'g--^', label='regional')
plt.plot(y1,y2,'b-o', label='local')
plt.legend(loc='best', numpoints=1, handlelength=0)
plt.show()
你可以用
plt.legend(loc='best', numpoints=1, handlelength=0,
markerscale=0, handletextpad=0)
也删除图例标记 .