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

Matplotlib 그래프에서 선(Line)을 숨기는 방법

Matplotlib으로 그래프를 작성할 때 특정 선을 화면에서 숨기고 싶은 경우가 종종 있습니다. 이럴 때 line.remove() 메서드를 사용하면 간단하게 해당 선을 제거할 수 있습니다.

구현 단계

  • 그림(figure) 크기를 설정하고 서브플롯 주변 및 사이의 여백을 조정합니다.
  • numpy를 사용하여 x, y1, y2 데이터 포인트를 생성합니다.
  • plot() 메서드를 호출하여 line1과 line2 두 개의 선을 그립니다.
  • 선을 숨기려면 line.remove() 메서드를 호출합니다.
  • 범례(legend)를 그림의 오른쪽 상단에 배치합니다.
  • show() 메서드를 사용하여 그래프를 화면에 표시합니다.

예제 코드

import matplotlib.pyplot as plt
import numpy as np

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

x = np.linspace(-10, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)

line1, = plt.plot(x, y1, label="Line 1")
line2, = plt.plot(x, y2, label="Line 2")

# line1.remove()

plt.legend(loc="upper right")

plt.show()

실행 결과

Matplotlib 그래프에서 선(Line)을 숨기는 방법

위 코드를 실행하면 사인 곡선(Line 1)과 코사인 곡선(Line 2)이 모두 그래프에 표시됩니다.

이제 코드에서 # line1.remove() 부분의 주석을 해제한 뒤 다시 실행해 보세요. 그러면 Line 1이 그래프에서 사라지고 Line 2만 남게 됩니다.

Matplotlib 그래프에서 선(Line)을 숨기는 방법

참고: set_visible()을 활용한 대안

remove() 대신 line.set_visible(False)를 사용할 수도 있습니다. remove()는 선 객체를 그래프에서 완전히 제거하는 반면, set_visible(False)는 객체 자체는 유지한 채 화면에서만 숨겨주기 때문에 나중에 set_visible(True)로 손쉽게 다시 표시할 수 있다는 장점이 있습니다. 일시적으로 선을 숨겼다가 복원해야 하는 경우에는 set_visible() 방식이 더 적합합니다.