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도 많이 있으며, matplot librc 파일에서도 설정할 수 있습니다.
또한 아마도 당신은 a를 통해 그것을 바꿀 수 있을 것입니다.matplotlib.font_manager.FontProperties
예를 들어, 하지만 이건 어떻게 해야 할지 모르겠어요. --> 얀의 대답을 보세요.
점의 크기 이외에도 몇 가지 이름이 지정된 글꼴 크기가 있습니다.
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 설명서의 자세한 정보
범례 크기를 조정하기 위한 여러 설정이 있습니다.제가 가장 유용하다고 생각하는 두 가지는 다음과 같습니다.
- 레이블 간격: 레이블 항목 사이의 간격을 글꼴 크기의 배수로 설정합니다.예를 들어 10포인트 글꼴을 사용하면
legend(..., labelspacing=0.2)
항목 사이의 간격을 2점으로 줄입니다.설치 기본값은 약 0.5입니다. - 크기할 수 prop: 글꼴 크기 등을 모두 제어할 수 있습니다.다음을 사용하여 8포인트 글꼴을 설정할 수 있습니다.
legend(..., prop={'size':8})
제 설치 기본값은 약 14점입니다.
또한 범례 문서에는 다음과 같은 다른 패딩 및 간격 매개 변수가 나열되어 있습니다.borderpad
,handlelength
,handletextpad
,borderaxespad
,그리고.columnspacing
이들은 모두 레이블 간격과 동일한 형식을 따르며 글꼴 크기도 여러 개입니다.
이러한 값은 matplot librc 파일을 사용하여 모든 그림에 대한 기본값으로 설정할 수도 있습니다.
설치할 때 글꼴 특성은 텍스트 크기만 변경하지만 텍스트 크기가 너무 크고 간격이 좁습니다.다음에서 매개 변수를 찾았습니다.pyplot.rcParams
:legend.labelspacing
폰트 크기의 일부로 설정되어 있는 것 같습니다.는 그것을 로다바니로
pyplot.rcParams.update({'legend.labelspacing':0.25})
pyplot.legend 함수 - 전달에 지정하는 방법을 잘 모르겠습니다.
prop={'labelspacing':0.25}
또는
prop={'legend.labelspacing':0.25}
오류와 함께 반환됩니다.
plot.legend(loc = 'lower right', decimal_places = 2, fontsize = '11', title = 'Hey there', title_fontsize = '20')
범례 크기 설정을 줄일 수 있습니다.
plt.legend(labelspacing=y, handletextpad=x,fontsize)
레이블 간격은 각 레이블 사이의 수직 공간입니다.
핸들 텍스트패드는 실제 범례와 레이블 사이의 거리입니다.
그리고 글꼴 크기는 스스로 설명할 수 있습니다.
언급URL : https://stackoverflow.com/questions/7125009/how-to-change-legend-fontsize-with-matplotlib-pyplot
'source' 카테고리의 다른 글
asp.net Core를 사용한 마이그레이션을 위해 출력 폴더를 변경하는 방법은 무엇입니까? (0) | 2023.05.02 |
---|---|
윈도우에 알림 같은 것이 있습니까? (0) | 2023.05.02 |
깃 태그에 대한 표준 명명 규칙이 있습니까? (0) | 2023.05.02 |
데이터베이스 스키마의 테이블 간 관계를 시각화하는 방법은 무엇입니까? (0) | 2023.05.02 |
라이브러리가 로드되지 않음: /usr/local/lib/libpq.5.4.dylib (0) | 2023.05.02 |