파이썬 plt 그림 여러개 간단하게 설정하기 : plt.subplots()안녕하세요. 이번 포스팅에서는 Show 파이썬 matplotlib 라이브러리에서 그래프 여러개를 한 화면에 동시에 나타내고, 각 그래프의 세부 사항들을 손쉽게 설정할 수 있는 간단한 방법을 살펴보겠습니다. 다중 플롯 격자 생성, figure 크기 및 여백 정하기우선, 가장 먼저 subplot 여러개를 그리기 위한 격자를 생성해보겠습니다. 예를들어, 세로 3개, 가로 4개 사이즈의 격자를 만들고 싶다면 아래와 같이 코드를 작성해주시면 됩니다. plt.subplots() 함수 내에 y, x 방향으로 몇 개의 격자를 만들 것인지를 지정하면 다양한 형태의 격자를 만들 수 있습니다. f, axes로 각각 figure 전체를 컨트롤하는 변수와 그래프 각각을 조절할 수 있는 변수 2가지를 받아왔습니다. 이제 격자의 크기를 조정하고, 여백을 설정해보겠습니다. 아래 코드에 적힌 메소드를 참조하시면 됩니다.
확실히 각 subplot이 탁 트이게 잘 구분되는 것을 확인할 수 있었습니다. 격자 여백은 가로 방향은 wspace, 세로 방향은 hspace 인자로 지정하시면 됩니다. subplot 내 원하는 위치에 그래프 그리기subplot 내의 각 위치에 접근하는 방법은 매우 간단합니다. 위에서 그래프 각각을 조절할 수 있는 변수인 axes에 대해서 인덱싱을 통하여 접근해주시면 됩니다. 참고로, axes[0, 1] 혹은 axes[0][1] 형태의 인덱싱이 모두 가능합니다. 각 칸에는 다른 종류의 그래프도 얼마든지 들어갈 수 있으며, 아래 코드에서 예시 그래프 몇 가지를 그려보도록 하겠습니다.
지정한 세 개의 위치에 원하는 형태의 그래프가 잘 그려진 것을 확인했습니다. 한 subplot 칸 내에 여러 그래프를 겹치는 것도 얼마든지 가능합니다. figure 전체, 각 subplot에 대하여 제목 및 축 제목 정하기figure 전체에 대한 제목 및 각 subplot의 제목 및 축 제목을 설정하는 방법도 말씀드려보겠습니다. figure 전체에 대한 제목은 앞에서 정한 그래프 전체에 대한 f 변수에 대해 f.suptitle() 함수로 설정해주시면 됩니다. 각 subplot 내 figure의 제목은 각 위치를 인덱싱한 뒤, axes[0, 1].set_title() 형태로 지정하게 되고, 축 제목은 axes[0, 1].set_xlable()처럼 지정해주시면 됩니다. 이 외에도 legend, text 등 기존 plt에서 사용하던 여러 메소드를 모두 마찬가지 방법으로 설정할 수 있습니다. 아래 예시 코드에서 다양한 경우의 예제를 보여드리며, 이번 포스팅을 마무리해보도록 하겠습니다. 감사합니다. [python] matplotlib 그래프 여러 개 그리는 방법matplotlib 를 활용하여 한 번에 그래프를 여러 개 그리는 방법을 알아보자. 1. 라이브러리 import
2. sub plot 의 size 정하기
subplot 의 size를 (2, 1) 로 지정한 것은 두 개가 세로로 놓여져 있는 그래프 두 개를 동시에 그리겠다는 것이다. 만약 (1, 2) 라고 썼다면 가로로 놓여져 있는 그래프가 그려졌을 것이다. (2, 1)에서 그래프는 (0, 0), (1, 0) 좌표로 지정할 수 있다. 3. 그래프 그리기
이렇게 2X1 그래프가 잘 그려졌음을 확인할 수 있다. x 값은 0부터 19 까지의 리스트이고, y 값은 리스트 컴프리헨션을 이용하여 1부터 10 사이의 임의의 값 20개를 리스트로 만든 것이다. 만약 1X2 라고 썼다면? 이렇게 가로로 2개의 그래프가 나오는 것을 확인할 수 있다. 2 X 2 로 쓴다면? 총 4개의 그래프가 나와야 한다.
이 경우 앞에서와 같이 axes가 1차원이 아니고 2차원이기 때문에 그래프가 그려질 좌표를 지정할 때, 2차원으로 지정해주어야 제대로 그래프가 나오는 것을 확인할 수 있다. 총 정리 |