iPython 환경에서 Matplotlib 그래프와 print 문의 출력 결과를 인라인(inline) 형태로 섞어서 표시하고 싶은 경우가 있습니다. 예를 들어, 여러 개의 데이터셋을 반복하면서 각 단계마다 정보를 출력하고 동시에 해당 데이터의 히스토그램을 그려야 할 때 유용합니다.
아래 단계를 따르면 iPython 노트북에서 print 문과 Matplotlib 플롯을 자연스럽게 함께 확인할 수 있습니다.
구현 단계
matplotlib에서 pyplot 모듈을 임포트합니다.
히스토그램(hist) 플롯에 사용할 데이터 리스트를 준비합니다.
print 문에서 사용할 변수 i를 초기화합니다.
준비한 데이터 리스트를 반복(iterate)합니다.
subplots() 메서드를 사용해 figure와 subplot 집합을 생성합니다.
반복문 안에 print 문을 배치하여 현재 처리 중인 데이터 번호를 출력합니다.
hist() 메서드로 해당 데이터의 히스토그램을 그립니다.
각 반복이 끝날 때마다 변수 i의 값을 1씩 증가시킵니다.
예제 코드
In [1]: from matplotlib import pyplot as plt
In [2]: myData = [[7, 8, 1], [2, 5, 2]]
In [3]: i = 0
In [4]: for data in myData:
...: fig, ax = plt.subplots()
...: print("data number i =", i)
...: ax.hist(data)
...: i = i + 1
...:
data number i = 0
data number i = 1
In [5]:실행 결과
위 코드를 실행하면 각 데이터셋이 처리될 때마다 다음과 같은 출력이 인라인으로 표시되며, 동시에 각 데이터에 대한 히스토그램 플롯도 함께 생성됩니다.
data number i = 0 data number i = 1
이처럼 반복문 안에서 plt.subplots()로 새로운 figure를 매번 생성하면, 각 데이터셋이 별도의 그래프로 깔끔하게 구분되어 출력되므로 데이터 탐색 및 분석 작업 시 가독성이 크게 향상됩니다.