본문 바로가기
파이썬

파이썬 Axes 클래스-지정된 단위로 축의 크기 (너비 / 높이)를 명시 적으로 설정합니다.

by º기록 2020. 10. 17.
반응형

축의 크기를 명시 적으로 지정할 수있는 matplotlib를 사용하여 그림을 만들고 싶습니다. 즉, 축 bbox의 너비와 높이를 설정하고 싶습니다.

나는 주위를 둘러 보았고 이것에 대한 해결책을 찾을 수 없습니다. 내가 일반적으로 찾는 것은 전체 Figure의 크기 (틱 및 레이블 포함)를 조정하는 방법입니다 (예 : fig, ax = plt.subplots (figsize = (w, h)))

축의 1 : 1 축척을 원하기 때문에 이것은 나에게 매우 중요합니다. 즉, 종이의 1 단위는 실제로 1 단위와 같습니다. 예를 들어 xrange가 0 ~ 10이고 주 눈금 = 1이고 x 축이 10cm이면 1 주 눈금 = 1cm입니다. 이 그림을 pdf로 저장하여 라텍스 문서로 가져옵니다.



그림 크기뿐만 아니라 축 상자 크기를 설정하는 방법에 대한 아이디어. 그림 크기는 축 크기에 맞게 조정되어야합니다.

감사!


 

해결 방법

 


import matplotlib.pyplot as plt

def set_size(w,h, ax=None):
    """ w, h: width, height in inches """
    if not ax: ax=plt.gca()
    l = ax.figure.subplotpars.left
    r = ax.figure.subplotpars.right
    t = ax.figure.subplotpars.top
    b = ax.figure.subplotpars.bottom
    figw = float(w)/(r-l)
    figh = float(h)/(t-b)
    ax.figure.set_size_inches(figw, figh)

fig, ax=plt.subplots()

ax.plot([1,3,2])

set_size(5,5)

plt.show()

 

참조 페이지 https://stackoverflow.com/questions/44970010

 

 

반응형

댓글