source

matplotlib를 사용하면 눈금 레이블의 글꼴 크기를 줄일 수 있습니다.

factcode 2022. 9. 24. 09:58
반응형

matplotlib를 사용하면 눈금 레이블의 글꼴 크기를 줄일 수 있습니다.

matplotlib 그림에서 눈금 레이블의 글꼴 크기를 설정하려면ax1.set_xticklabels()더 작아요?

또, 어떻게 하면 수평에서 수직으로 회전시킬 수 있을까요?

사실 더 간단한 방법이 있어요.방금 찾았어요.

import matplotlib.pyplot as plt
# We prepare the plot  
fig, ax = plt.subplots()

# We change the fontsize of minor ticks label 
ax.tick_params(axis='both', which='major', labelsize=10)
ax.tick_params(axis='both', which='minor', labelsize=8)

이것은, 다음의 사이즈에만 대응합니다.label질문의 일부입니다.

글꼴 크기와 회전을 동시에 지정하려면 다음을 수행합니다.

plt.xticks(fontsize=14, rotation=90)

MPL의 새 버전에는 이 작업에 대한 바로 가기가 있습니다.다음 질문에 대한 다른 답변에 예를 제시하겠습니다.https://stackoverflow.com/a/11386056/42346

다음 코드는 설명용이며 반드시 최적화될 필요는 없습니다.

import matplotlib.pyplot as plt
import numpy as np

def xticklabels_example():
    fig = plt.figure() 

    x = np.arange(20)
    y1 = np.cos(x)
    y2 = (x**2)
    y3 = (x**3)
    yn = (y1,y2,y3)
    COLORS = ('b','g','k')

    for i,y in enumerate(yn):
        ax = fig.add_subplot(len(yn),1,i+1)

        ax.plot(x, y, ls='solid', color=COLORS[i]) 

        if i != len(yn) - 1:
            # all but last 
            ax.set_xticklabels( () )
        else:
            for tick in ax.xaxis.get_major_ticks():
                tick.label.set_fontsize(14) 
                # specify integer or one of preset strings, e.g.
                #tick.label.set_fontsize('x-small') 
                tick.label.set_rotation('vertical')

    fig.suptitle('Matplotlib xticklabels Example')
    plt.show()

if __name__ == '__main__':
    xticklabels_example()

여기에 이미지 설명 입력

또는 다음 작업을 수행할 수 있습니다.

import matplotlib as mpl
label_size = 8
mpl.rcParams['xtick.labelsize'] = label_size 

또 다른 대안

두 개의 그림이 나란히 있는데 눈금 레이블을 개별적으로 조정하려고 합니다.

위의 해결방법은 아슬아슬했지만 나에게는 효과가 없었다.이 matplotlib 페이지에서 해결책을 찾았습니다.

ax.xaxis.set_tick_params(labelsize=20)

이것은 효과가 있었고 바로 요점을 찔렀다.제 사용 사례에서 조정이 필요한 것은 오른쪽에 있는 그래프였습니다.새 눈금 레이블을 만든 이후 왼쪽에 있는 플롯의 경우 레이블 설정과 동일한 프로세스로 글꼴을 조정할 수 있었습니다.

즉,

ax1.set_xticklabels(ax1_x, fontsize=15)
ax1.set_yticklabels(ax1_y, fontsize=15)

그래서 나는 올바른 플롯에 사용했어.

ax2.xaxis.set_tick_params(labelsize=24)
ax2.yaxis.set_tick_params(labelsize=24)

사소한 미묘함...알아요...하지만 이것이 누군가에게 도움이 되길 바랍니다:)

크기 레이블의 글꼴 크기를 조정하는 방법을 알고 있는 경우 보너스 포인트입니다.

여기에 이미지 설명 입력

plt.tick_params(axis='both', which='minor', labelsize=12)

현재 버전의 Matplotlib에서는 다음을 수행할 수 있습니다.axis.set_xticklabels(labels, fontsize='small').

작은 글꼴의 경우

ax1.set_xticklabels(xticklabels, fontsize=7)

효과가 있어요!

다음과 같은 선으로 글꼴 크기와 같은 레이블 표시 매개 변수를 변경할 수도 있습니다.

zed = [tick.label.set_fontsize(14) for tick in ax.yaxis.get_major_ticks()]

다음과 같은 것이 도움이 되었습니다.

ax2.xaxis.set_tick_params(labelsize=7)
ax2.yaxis.set_tick_params(labelsize=7)

위의 장점은 다음과 같은 정보를 제공할 필요가 없다는 것입니다.arraylabels및 에 있는 모든 데이터로 동작합니다.axes.

언급URL : https://stackoverflow.com/questions/6390393/matplotlib-make-tick-labels-font-size-smaller

반응형