matplotlib를 사용하여 범례 크기를 변경하는 방법벽면
간단한 질문입니다.matplotlib.pyplot
, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아 아, 아, 아, 아, 제가 하고 있는 코드는 .사용하고 있는 코드는 다음과 같습니다.
plot.figure()
plot.scatter(k, sum_cf, color='black', label='Sum of Cause Fractions')
plot.scatter(k, data[:, 0], color='b', label='Dis 1: cf = .6, var = .2')
plot.scatter(k, data[:, 1], color='r', label='Dis 2: cf = .2, var = .1')
plot.scatter(k, data[:, 2], color='g', label='Dis 3: cf = .1, var = .01')
plot.legend(loc=2)
하려면 , 「」를 합니다.prop
키워드를 지정합니다.
plot.legend(loc=2, prop={'size': 6})
여기에는 다음과 같은 키워드 사전이 필요합니다.matplotlib.font_manager.FontProperties
특성.범례는 다음 문서를 참조하십시오.
키워드 인수:
prop: [ None | FontProperties | dict ] A matplotlib.font_manager.FontProperties instance. If prop is a dictionary, a new instance will be created with prop. If None, use rc settings.
버전 1.2.1 이후에서는 다음 키워드를 사용할 수도 있습니다.fontsize
.
를 사용합니다.import matplotlib.pyplot as plt
방법 1: 범례를 호출할 때 글꼴 크기를 지정합니다(반복).
plt.legend(fontsize=20) # using a size in points
plt.legend(fontsize="x-large") # using a named size
이 방법을 사용하면 작성 시 각 범례의 글꼴 크기를 설정할 수 있습니다(다른 글꼴 크기를 가진 여러 범례를 가질 수 있음).그러나 범례를 작성할 때마다 모든 항목을 수동으로 입력해야 합니다.
(주: @Mathias711은 그의 답변에 사용 가능한 이름 있는 글꼴 크기를 나열했습니다.)
방법 2: 글꼴 크기를 rcParams로 지정합니다(편리함).
plt.rc('legend',fontsize=20) # using a size in points
plt.rc('legend',fontsize='medium') # using a named size
이 방법을 사용하여 기본 범례 글꼴 크기를 설정하면 방법 1을 사용하여 별도로 지정하지 않는 한 모든 범례에서 자동으로 사용됩니다.즉, 코드 시작 부분에서 범례 글꼴 크기를 설정할 수 있으며 각 범례에 대해 설정할 필요가 없습니다.
를를들, ,,,이이이크다다다다다다다 'medium'
범례 텍스트와 font.size
rcParams
font.size
plt.rc(font.size='medium')
이거면 되겠군.
import pylab as plot
params = {'legend.fontsize': 20,
'legend.handlelength': 2}
plot.rcParams.update(params)
그럼 플롯은 나중에 하세요.
다른 rcParam이 많이 있으며 matplotlibrc 파일에서도 설정할 수 있습니다.
아마 '바꾸기'를 수 예요.matplotlib.font_manager.FontProperties
예를 들어서 어떻게 해야 할지 모르겠어요. --> Yann의 답변을 보세요.
포인트 크기 외에 몇 가지 이름 있는 글꼴 크기도 있습니다.
xx-small
x-small
small
medium
large
x-large
xx-large
사용방법:
pyplot.legend(loc=2, fontsize = 'x-small')
2021년에는 matplotlib 3.4.2를 사용하여 범례 글꼴을 설정할 수 있습니다.
plt.legend(title="My Title", fontsize=10, title_fontsize=15)
서 ''는fontsize
및 에 입니다.title_fontsize
는 범례 제목의 글꼴 크기입니다.matplotlib 설명서의 상세 정보
범례 크기 조정에는 여러 가지 설정이 있습니다.가장 유용한 두 가지는 다음과 같습니다.
- 을 설정합니다.labelspacing: " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "" 폰트, 10포인트 폰트, 10포인트 폰트,
legend(..., labelspacing=0.2)
는 엔트리 사이의 간격을 2포인트로 줄입니다.0.5로 하다 - prop: 글꼴 크기 등을 완전히 제어할 수 있습니다.8 포인트 글꼴은 다음과 같이 설정할 수 있습니다.
legend(..., prop={'size':8})
설치 기본값은 약 14포인트입니다.
또한 범례 문서에는 다음과 같은 다른 패딩 및 간격 매개 변수가 나열됩니다.borderpad
,handlelength
,handletextpad
,borderaxespad
,그리고.columnspacing
모두 라벨 간격과 영역과 같은 형태를 취하며 글꼴 사이즈의 배수로도 사용됩니다.
이러한 값은 matplotlibrc 파일을 사용하는 모든 그림의 기본값으로 설정할 수도 있습니다.
설치 시 FontProperties는 텍스트 크기만 변경하지만 여전히 너무 크고 공백이 있습니다.에서 파라미터를 찾았습니다.pyplot.rcParams
:legend.labelspacing
폰트 사이즈의 극히 일부일 겁니다.로 변경했습니다.
pyplot.rcParams.update({'legend.labelspacing':0.25})
pyplot.legend 함수 - passing으로 지정하는 방법을 잘 모르겠습니다.
prop={'labelspacing':0.25}
또는
prop={'legend.labelspacing':0.25}
에러와 함께 반환됩니다.
plot.loc(loc = '오른쪽 아래', 10진수_places = 2, 글꼴 크기 = '11', 제목 = 'Hey there', title_sublicize = '20')
범례 크기 설정을 줄일 수 있습니다.
plt.legend(labelspacing=y, handletextpad=x,fontsize)
labelspacing은 각 라벨 사이의 수직 공간입니다.
handletextpad는 실제 범례와 레이블 사이의 거리입니다.
폰트 사이즈는 자명합니다.
언급URL : https://stackoverflow.com/questions/7125009/how-to-change-legend-size-with-matplotlib-pyplot
'programing' 카테고리의 다른 글
다중 테이블 선택과 JOIN (퍼포먼스) (0) | 2022.10.08 |
---|---|
렌더링 후 입력 필드에 포커스를 설정하는 방법 (0) | 2022.10.08 |
Python 문자열의 u'\uff' (0) | 2022.10.02 |
여러 COLUMN_JSON 결과를 JSON 어레이로 반환 (0) | 2022.10.02 |
~x + ~y == ~(x + y)는 항상 거짓입니까? (0) | 2022.10.02 |