[python] matplotlib 범례 마커는 한 번만

나는 종종 다음과 같이 matplotlib 플롯에 점을 플로팅합니다.

x = 10
y = 100
plot(x, y, "k*", label="Global Optimum")
legend()

그러나 이로 인해 범례는 범례에 별표를 두 번 배치하여 다음과 같이 표시됩니다.

* * Global Optimum

내가 정말로 그것을 원할 때 :

 *  Global Optimum

어떻게해야합니까?



답변

이것은 작동해야합니다 :

legend(numpoints=1)

BTW, 라인을 추가하면

legend.numpoints     : 1      # the number of points in the legend line

matplotlibrc 파일에 추가하면 이것이 새로운 기본값이됩니다.

[줄거리에 따라 산점도 참조하십시오.]

API : API 문서에 연결


답변

모든 파이썬 스크립트에서 matplotlib rc 매개 변수를 동적으로 변경하고 싶습니다. 이 목표를 달성하기 위해 파이썬 파일의 시작 부분에 이와 비슷한 것을 사용합니다.

from pylab import *
rcParams['legend.numpoints'] = 1

이것은 내 파이썬 파일에서 생성 된 모든 플롯에 적용됩니다.

편집 : pylab을 가져오고 싶지 않은 사람들에게는 긴 대답은

import matplotlib as mpl
mpl.rcParams['legend.numpoints'] = 1


답변