programing

matplotlib 범례 마커 한 번만

luckcodes 2022. 11. 7. 22:22

matplotlib 범례 마커 한 번만

나는 종종 다음과 같은 방법으로 매트플롯lib 그림에 점을 표시합니다.

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 문서에 대한 링크

모든 python 스크립트에서 matplotlib rc 파라미터를 동적으로 변경합니다.이 목표를 달성하기 위해 저는 python 파일의 선두에 있는 것과 같은 것을 사용합니다.

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

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

편집: pylab을 Import하는 것을 좋아하지 않는 사용자에게 긴 답변은 다음과 같습니다.

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

언급URL : https://stackoverflow.com/questions/6146778/matplotlib-legend-markers-only-once