Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python/Jupyter 노트북에서 Matplotlib 출력 결과를 숨기는 방법

Jupyter 노트북에서 plt.plot()을 실행하면 그래프와 함께 [<matplotlib.lines.Line2D at 0x...>]와 같은 객체 정보가 함께 출력되어 지저분해 보일 때가 있습니다. 이는 matplotlib의 plot 함수가 Line2D 객체를 반환하기 때문이며, 몇 가지 간단한 방법으로 이 출력을 생략할 수 있습니다.

출력을 숨기는 방법

  • numpy를 np로 임포트합니다.
  • matplotlib에서 pyplotplt로 임포트합니다.
  • np.linspace(1, 10, 1000)으로 x축 데이터 포인트를 생성합니다.
  • plot() 메서드로 선 그래프를 그립니다.
  • 반환되는 객체 출력을 숨기려면 코드 끝에 세미콜론(;)을 붙여 plt.plot(x); 형태로 작성합니다.
  • 또는 반환값을 언더스코어 변수에 할당하여 _ = plt.plot(x) 형태로 작성합니다.

예제 코드

In [1]: import numpy as np

In [2]: from matplotlib import pyplot as plt

In [3]: x = np.linspace(1, 10, 1000)

In [4]: plt.plot(x)
Out[4]: [<matplotlib.lines.Line2D at 0x7faa3852fac8>]

In [5]: plt.plot(x);

In [6]: _ = plt.plot(x)

In [7]:

실행 결과

Out[4]: [<matplotlib.lines.Line2D at 0x7faa3852fac8>]

동작 원리 설명

Jupyter 노트북은 셀의 마지막 표현식 값을 자동으로 화면에 표시합니다. plt.plot(x)는 Line2D 객체 리스트를 반환하므로, 위 예제의 In [4]처럼 객체 주소가 출력됩니다.

세미콜론(;)을 붙이면 Jupyter가 해당 표현식의 반환값을 표시하지 않도록 설정되고, _ = plt.plot(x)처럼 반환값을 변수에 할당하면 마지막 표현식이 아니게 되어 역시 출력되지 않습니다. 두 방법 모두 그래프 자체는 정상적으로 렌더링되며, 불필요한 객체 정보만 깔끔하게 제거됩니다.