matplotlib의 그래프 상자 크기를 정확하게 파악하고 싶었습니다.

7165 단어 Python3matplotlib

matplotlib.pyplot.subplots_adjust 개요



파이썬 그리기 라이브러리 matplotlib.pyplot에는 여백 등을 설정하는 matplotlib.pyplot.subplots_adjust이 있습니다.
matplotlib.pyplot.subplots_adjust(left=None, bottom=None, right=None, top=None, wspace=None, hspace=None)

공식 문서에서 가져 왔지만 매개 변수는 다음과 같이 0에서 1까지의 실수 값을 설정합니다.
left = 0.125  # the left side of the subplots of the figure
right = 0.9   # the right side of the subplots of the figure
bottom = 0.1  # the bottom of the subplots of the figure
top = 0.9     # the top of the subplots of the figure
wspace = 0.2  # the amount of width reserved for space between subplots,
              # expressed as a fraction of the average axis width
hspace = 0.2  # the amount of height reserved for space between subplots,
              # expressed as a fraction of the average axis height

지정한 위치를 표시하면 다음과 같습니다.


그건 그렇고,이 값은 matplotlib.pyplot.show()로 표시되는 GUI에서 1

를 누르면 다음과 같이 interactive로 조정할 수 있습니다.


다른 하나는 rcParams 설정을 터치하여 변경할 수 있습니다.
matplotlib.pyplot.rcParams["figure.subplot.left"] = 0.125
matplotlib.pyplot.rcParams["figure.subplot.right"] = 0.9
matplotlib.pyplot.rcParams["figure.subplot.bottom"] = 0.1
matplotlib.pyplot.rcParams["figure.subplot.top"] =  0.9
matplotlib.pyplot.rcParams["figure.subplot.wspace"] = 0.2
matplotlib.pyplot.rcParams["figure.subplot.hspace"] = 0.2

빠진 것



큰 것은 아니지만 wspacehspace 값의 의미가 다른 매개 변수와 다릅니다.left, right, bottom, top는 왼쪽 아래에서 측정 한 전체 그림의 크기 비율 0 ~ 1로 지정하지만 wspacehspace는 그렇지 않았습니다. 에서 빠졌습니다.

공식 문서을 빨리보고 있으면 좋았습니다.
wspace = 0.2  # the amount of width reserved for space between subplots,
              # expressed as a fraction of the average axis width
hspace = 0.2  # the amount of height reserved for space between subplots,
              # expressed as a fraction of the average axis height```


# expressed as a fraction of the average axis width

부분입니다.

즉, 그래프의 가로 (세로) 너비의 평균값 (일반적으로 모두 동일하므로 단순히 graph의 가로 (세로) 너비)의 w(h)space 배 간격을 비울 것이라고 의미합니다 2.



이것은 Windows 환경입니다. Mac 환경에서는 버튼이 아래쪽으로 나오는 것 같습니다.

덧붙여서 $n$개의 같은 폭의 graph를 옆에 늘어놓았을 경우의 1개의 graph가 차지하는 비율$f_w$는, graph의 간격은 $n-1$개이므로 right - left times n+f_w\times$ wspace $\times(n-1)$와 같음보다 $f_w=($ right - left $)/( n+$ wspace $\times (n- 1))$이 됩니다. 세로 방향도 같습니다. 

좋은 웹페이지 즐겨찾기