development

Matplotlib에서 그림 제목 및 축 레이블 글꼴 크기를 어떻게 설정합니까?

big-blog 2020. 2. 17. 22:19
반응형

Matplotlib에서 그림 제목 및 축 레이블 글꼴 크기를 어떻게 설정합니까?


Matplotlib에서 다음과 같이 그림을 만들고 있습니다.

from matplotlib import pyplot as plt

fig = plt.figure()
plt.plot(data)
fig.suptitle('test title')
plt.xlabel('xlabel')
plt.ylabel('ylabel')
fig.savefig('test.jpg')

그림 제목과 축 레이블의 글꼴 크기를 지정하고 싶습니다. 세 가지 글꼴 크기가 모두 달라야하므로 전역 글꼴 크기 ( mpl.rcParams['font.size']=x)를 설정하는 것은 내가 원하는 것이 아닙니다. 그림 제목과 축 레이블의 글꼴 크기를 개별적으로 설정하려면 어떻게합니까?


같은 텍스트 처리 기능 label, title등 같은 매개 변수 동의 matplotlib.text.Text을 . 글꼴 크기의 경우 다음을 사용할 수 있습니다 size/fontsize.

from matplotlib import pyplot as plt    

fig = plt.figure()
plt.plot(data)
fig.suptitle('test title', fontsize=20)
plt.xlabel('xlabel', fontsize=18)
plt.ylabel('ylabel', fontsize=16)
fig.savefig('test.jpg')

전 세계적으로 설정 들어 titlelabel크기, mpl.rcParams포함 axes.titlesize하고 axes.labelsize. (페이지에서) :

axes.titlesize      : large   # fontsize of the axes title
axes.labelsize      : medium  # fontsize of the x any y labels

(내가 아는 한, 크기를 별도로 설정 x하고 y레이블 을 지정할 수있는 방법이 없습니다 .)

그리고 그것은 axes.titlesize영향을 미치지 않습니다 참조하십시오 suptitle. 수동으로 설정해야한다고 생각합니다.


rcParams 사전을 통해이 작업을 전체적으로 수행 할 수도 있습니다.

import matplotlib.pylab as pylab
params = {'legend.fontsize': 'x-large',
          'figure.figsize': (15, 5),
         'axes.labelsize': 'x-large',
         'axes.titlesize':'x-large',
         'xtick.labelsize':'x-large',
         'ytick.labelsize':'x-large'}
pylab.rcParams.update(params)

ax객체 를 사용 하여 플로팅을 수행 하는 데 더 익숙하다면 ax.xaxis.label.set_size()ipython 터미널에서 기억하기 쉽거나 적어도 탭을 사용하여 쉽게 찾을 수 있습니다. 효과를 확인한 후 다시 그리기 작업이 필요한 것 같습니다. 예를 들면 다음과 같습니다.

import matplotlib.pyplot as plt

# set up a plot with dummy data
fig, ax = plt.subplots()
x = [0, 1, 2]
y = [0, 3, 9]
ax.plot(x,y)

# title and labels, setting initial sizes
fig.suptitle('test title', fontsize=12)
ax.set_xlabel('xlabel', fontsize=10)
ax.set_ylabel('ylabel', fontsize='medium')   # relative to plt.rcParams['font.size']

# setting label sizes after creation
ax.xaxis.label.set_size(20)
plt.draw()

자막 크기를 만든 후에 비슷한 방법을 모릅니다.


축의 글꼴이 아닌 제목의 글꼴 만 수정하려면 다음을 사용했습니다.

import matplotlib.pyplot as plt
fig = plt.Figure()
ax = fig.add_subplot(111)
ax.set_title('My Title', fontdict={'fontsize': 8, 'fontweight': 'medium'})

모든 kwargs로 제외한 fontdict matplotlib.text.Text .


글꼴 크기를 변경하는 다른 방법은 패딩을 변경하는 것입니다. Python에서 PNG를 저장하면 열리는 대화 상자를 사용하여 레이아웃을 변경할 수 있습니다. 축 사이의 간격, 원하는 경우 패딩을이 단계에서 변경할 수 있습니다.


장소 right_ax이전set_ylabel()

ax.right_ax.set_ylabel('AB scale')

참고 : https://stackoverflow.com/questions/12444716/how-do-i-set-the-figure-title-and-axes-labels-font-size-in-matplotlib



도와주세요.
반응형