matplotlib.pyplot.subplots #
- matplotlib.pyplot. subplots ( nrows = 1 , ncols = 1 , * , sharex = False , sharey = False , squeeze = True , width_ratios = None , height_ratios = None , subplot_kw = None , gridspec_kw = None , ** fig_kw ) [출처] #
그림과 서브플롯 세트를 만듭니다.
이 유틸리티 래퍼를 사용하면 둘러싸는 그림 개체를 포함하여 단일 호출로 서브플롯의 공통 레이아웃을 편리하게 만들 수 있습니다.
- 매개변수 :
- nrows, ncols int, 기본값: 1
서브플롯 그리드의 행/열 수입니다.
- sharex, sharey bool 또는 {'none', 'all', 'row', 'col'}, 기본값: False
x( sharex ) 또는 y( sharey ) 축 간의 속성 공유를 제어합니다 .
True 또는 'all': x축 또는 y축이 모든 서브플롯에서 공유됩니다.
False 또는 '없음': 각 서브플롯 x축 또는 y축은 독립적입니다.
'행': 각 서브플롯 행은 x축 또는 y축을 공유합니다.
'col': 각 서브플롯 열은 x축 또는 y축을 공유합니다.
서브플롯에 열을 따라 공유된 x축이 있는 경우 하단 서브플롯의 x 눈금 레이블만 생성됩니다. 마찬가지로 서브플롯에 행을 따라 공유된 y축이 있는 경우 첫 번째 열 서브플롯의 y 눈금 레이블만 생성됩니다. 나중에 다른 서브플롯의 눈금 레이블을 켜려면 를 사용
tick_params
하십시오.서브플롯에 단위가 있는 공유 축이 있는 경우 호출
set_units
하면 각 축이 새 단위로 업데이트됩니다.- 스퀴즈 부울, 기본값: True
True인 경우 다음의 반환된 배열에서 추가 차원이 압착됩니다
Axes
.하나의 서브플롯만 구성된 경우(nrows=ncols=1) 결과 단일 Axes 객체가 스칼라로 반환됩니다.
Nx1 또는 1xM 서브플롯의 경우 반환된 객체는 Axes 객체의 1D numpy 객체 배열입니다.
NxM의 경우 N>1 및 M>1인 서브플롯이 2D 배열로 반환됩니다.
False이면 압착이 전혀 수행되지 않습니다. 반환된 Axes 객체는 결국 1x1이 되더라도 항상 Axes 인스턴스를 포함하는 2D 배열입니다.
- 길이 ncols 의 width_ratios 배열 유사 , 선택 사항
열의 상대 너비를 정의합니다. 각 열의 상대 너비는 . 지정하지 않으면 모든 열의 너비가 동일합니다. 에 해당합니다 .
width_ratios[i] / sum(width_ratios)
gridspec_kw={'width_ratios': [...]}
- 길이 nrows 의 height_ratios 배열 유사 , 선택 사항
행의 상대 높이를 정의합니다. 각 행의 상대 높이는 . 지정하지 않으면 모든 행의 높이가 동일합니다. . _
height_ratios[i] / sum(height_ratios)
gridspec_kw={'height_ratios': [...]}
- subplot_kw 사전, 선택 사항
add_subplot
각 서브플롯을 만드는 데 사용되는 호출 에 전달된 키워드가 있는 사전 .- gridspec_kw 사전, 선택사항
GridSpec
서브플롯이 배치되는 그리드를 생성하는 데 사용되는 생성자 에 전달된 키워드가 포함된 사전 .- **fig_kw
모든 추가 키워드 인수가
pyplot.figure
호출에 전달됩니다.
- 반환 :
- 무화과
Figure
- 도끼
Axes
또는 축 배열 ax 는 단일
Axes
객체이거나 둘 이상의 서브플롯이 생성된 경우 Axes 객체의 배열일 수 있습니다. 결과 배열의 크기는 squeeze 키워드로 제어할 수 있습니다(위 참조).반환 값을 처리하는 일반적인 관용구는 다음과 같습니다.
# using the variable ax for single a Axes fig, ax = plt.subplots() # using the variable axs for multiple Axes fig, axs = plt.subplots(2, 2) # using tuple unpacking for multiple Axes fig, (ax1, ax2) = plt.subplots(1, 2) fig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(2, 2)
이름
ax
과 복수형axs
이 선호되는axes
이유는 후자의 경우 그것이 단일Axes
인스턴스를 가리키는지 아니면 이들의 모음을 가리키는지 명확하지 않기 때문입니다.
- 무화과
예
# First create some toy data: x = np.linspace(0, 2*np.pi, 400) y = np.sin(x**2) # Create just a figure and only one subplot fig, ax = plt.subplots() ax.plot(x, y) ax.set_title('Simple plot') # Create two subplots and unpack the output array immediately f, (ax1, ax2) = plt.subplots(1, 2, sharey=True) ax1.plot(x, y) ax1.set_title('Sharing Y axis') ax2.scatter(x, y) # Create four polar axes and access them through the returned array fig, axs = plt.subplots(2, 2, subplot_kw=dict(projection="polar")) axs[0, 0].plot(x, y) axs[1, 1].scatter(x, y) # Share a X axis with each column of subplots plt.subplots(2, 2, sharex='col') # Share a Y axis with each row of subplots plt.subplots(2, 2, sharey='row') # Share both X and Y axes with all subplots plt.subplots(2, 2, sharex='all', sharey='all') # Note that this is the same as plt.subplots(2, 2, sharex=True, sharey=True) # Create figure number 10 with a single subplot # and clears it if it already exists. fig, ax = plt.subplots(num=10, clear=True)
# 을 사용하는 예matplotlib.pyplot.subplots
여백과 sticky_edge를 사용하여 보기 제한 제어
그림 레이블: suptitle, supxlabel, supylabel
서브플롯과 GridSpec을 사용하여 두 개의 서브플롯 결합
plt.subplots를 사용하여 여러 서브플롯 만들기
PatchCollection을 사용하여 오류 막대에서 상자 만들기
Matplotlib에서 악센트 부호가 있는 텍스트 사용
자동 크기 조정 기능이 있는 Line, Poly 및 RegularPo Collection
Rectangles 및 PolyCollections를 사용하여 히스토그램 작성
ConciseDateFormatter를 사용하여 날짜 눈금 서식 지정