Program Tip

Python을 사용하여 두 개의 플롯을 나란히 만드는 방법은 무엇입니까?

programtip 2020. 11. 24. 19:25
반응형

Python을 사용하여 두 개의 플롯을 나란히 만드는 방법은 무엇입니까?


matplotlib에서 다음 예제를 찾았습니다.

import numpy as np
import matplotlib.pyplot as plt


x1 = np.linspace(0.0, 5.0)
x2 = np.linspace(0.0, 2.0)

y1 = np.cos(2 * np.pi * x1) * np.exp(-x1)
y2 = np.cos(2 * np.pi * x2)

plt.subplot(2, 1, 1)
plt.plot(x1, y1, 'ko-')
plt.title('A tale of 2 subplots')
plt.ylabel('Damped oscillation')


plt.subplot(2, 1, 2)
plt.plot(x2, y2, 'r.-')
plt.xlabel('time (s)')
plt.ylabel('Undamped')

plt.show()

제 질문은 다음과 같습니다. 플롯을 나란히 배치하려면 무엇을 변경해야합니까?


서브 플롯 설정을 다음으로 변경하십시오.

plt.subplot(1, 2, 1)

...

plt.subplot(1, 2, 2)

매개 변수 subplot는 행 수, 열 수 및 현재 사용중인 서브 플롯입니다. 따라서 1, 2, 1"1 행 2 열 그림 : 첫 번째 서브 플롯으로 이동"을 의미합니다. 그런 다음 1, 2, 2"1 행 2 열 그림 : 두 번째 서브 플롯으로 이동"을 의미합니다.

현재 2 행 1 열 (즉, 다른 하나 위에) 레이아웃을 요청하고 있습니다. 대신 1 행 2 열 레이아웃을 요청해야합니다. 그렇게하면 결과는 다음과 같습니다.

나란히 플롯

서브 플롯의 겹침을 최소화하기 위해 다음을 시작할 수 있습니다.

plt.tight_layout()

쇼 전에. 굽힐 수 있는:

깔끔한 나란히 플롯


이 페이지를 확인하세요 : http://matplotlib.org/examples/pylab_examples/subplots_demo.html

plt.subplots유사하다. 그림의 매개 변수 설정이 쉽기 때문에 더 좋다고 생각합니다. 처음 두 인수는 레이아웃을 정의하고 (1 행, 2 열) 기타 매개 변수는 그림 크기와 같은 기능을 변경합니다.

import numpy as np
import matplotlib.pyplot as plt

x1 = np.linspace(0.0, 5.0)
x2 = np.linspace(0.0, 2.0)
y1 = np.cos(2 * np.pi * x1) * np.exp(-x1)
y2 = np.cos(2 * np.pi * x2)

fig, axes = plt.subplots(nrows=1, ncols=2, figsize=(5, 3))
axes[0].plot(x1, y1)
axes[1].plot(x2, y2)
fig.tight_layout()

여기에 이미지 설명 입력

참고 URL : https://stackoverflow.com/questions/42818361/how-to-make-two-plots-side-by-side-using-python

반응형