Programming

Matplotlib에서, 인수가 fig.add_subplot (111)의 의미는 무엇입니까?

procodes 2020. 2. 18. 22:55
반응형

Matplotlib에서, 인수가 fig.add_subplot (111)의 의미는 무엇입니까?


때로는 다음과 같은 코드가 나타납니다.

import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [1, 4, 9, 16, 25]
fig = plt.figure()
fig.add_subplot(111)
plt.scatter(x, y)
plt.show()

어느 생산 :

포함 된 코드로 생성 된 예제 플롯

미친 것 같은 문서를 읽었지만에 대한 설명을 찾을 수 없습니다 111. 때때로 나는을 본다 212.

무슨 주장이 fig.add_subplot()의미 하는가?


이들은 단일 정수로 인코딩 된 서브 플롯 그리드 매개 변수입니다. 예를 들어 "111"은 "1x1 그리드, 첫 번째 서브 플롯"을 의미하고 "234"는 "2x3 그리드, 네 번째 서브 플롯"을 의미합니다.

의 대체 형식은 add_subplot(111)입니다 add_subplot(1, 1, 1).


나는 이것이 다음 그림에서 가장 잘 설명 될 것이라고 생각합니다.

여기에 이미지 설명을 입력하십시오

위를 초기화하려면 다음을 입력하십시오.

import matplotlib.pyplot as plt
fig = plt.figure()
fig.add_subplot(221)   #top left
fig.add_subplot(222)   #top right
fig.add_subplot(223)   #bottom left
fig.add_subplot(224)   #bottom right 
plt.show()

Constantin의 대답은 바로 자리에 있지만 더 많은 배경을 위해이 동작은 Matlab에서 상속됩니다.

Matlab 동작은 Matlab 문서 그림 설정-그림 당 여러 플롯 표시 섹션에 설명되어 있습니다.

subplot (m, n, i)는 Figure 창을 작은 하위 플로트로 구성된 mxn 행렬로 나누고 현재 플롯에 대한 하위 플롯을 선택합니다. 플롯은 그림 창의 맨 위 행을 따라 번호가 매겨진 다음 두 번째 행 등으로 번호가 지정됩니다.


내 해결책은

fig = plt.figure()
fig.add_subplot(1, 2, 1)   #top and bottom left
fig.add_subplot(2, 2, 2)   #top right
fig.add_subplot(2, 2, 4)   #bottom right 
plt.show()

1과 3이 병합 된 2x2 그리드


fig.add_subplot(ROW,COLUMN,POSITION)

  • ROW = 행 수
  • COLUMN = 열 수
  • POSITION = 플로팅 할 그래프의 위치

`fig.add_subplot(111)` #There is only one subplot or graph  
`fig.add_subplot(211)`  *and*  `fig.add_subplot(212)` 

총 2 개의 행, 1 개의 열이 있으므로 2 개의 하위 그래프를 그릴 수 있습니다. 위치는 1입니다. 총 2 개의 행, 1 개의 열이 있으므로 2 개의 하위 그래프를 그릴 수 있습니다.


여기에 이미지 설명을 입력하십시오

import matplotlib.pyplot as plt
plt.figure(figsize=(8,8))
plt.subplot(3,2,1)
plt.subplot(3,2,3)
plt.subplot(3,2,5)
plt.subplot(2,2,2)
plt.subplot(2,2,4)

첫 번째 코드는 3 개의 행과 2 개의 열이있는 레이아웃에서 첫 번째 서브 플롯을 만듭니다.

첫 번째 열에있는 세 개의 그래프는 세 개의 행을 나타냅니다. 두 번째 플롯은 같은 열의 첫 번째 플롯 바로 아래에옵니다.

마지막 두 플롯에는 두 (2, 2)번째 열에 두 개의 행만 있고 위치 매개 변수는 행 단위로 이동한다는 것을 나타내는 인수 가 있습니다.

참고 : https://stackoverflow.com/questions/3584805/in-matplotlib-what-does-the-argument-mean-in-fig-add-subplot111



반응형