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

Matplotlib에서 오류 막대(errorbar)를 가장 마지막에 렌더링하는 방법

Matplotlib에서 여러 그래프 요소를 그릴 때, 오류 막대(errorbar)가 다른 선들 위에, 즉 가장 마지막에 렌더링되도록 하려면 figure()gca() 메서드를 활용하면 됩니다. 아래 단계를 따라 해보세요.

구현 단계

  • 그림 크기 설정: figure 크기를 지정하고 서브플롯 주변 및 사이의 패딩을 조정합니다.
  • 피겨 생성: figure() 메서드로 새 피겨를 만들거나 기존 피겨를 활성화합니다.
  • 축 가져오기: gca()(get current axis) 메서드로 현재 축을 얻습니다.
  • 선 그리기: 먼저 일반 선들을 플롯합니다.
  • 오류 막대 추가: x와 y 값을 선 또는 마커로 표현하고, 오류 막대를 함께 붙여 마지막에 그립니다.
  • 결과 확인: show() 메서드로 피겨를 화면에 표시합니다.

예제 코드

import matplotlib.pyplot as plt
import numpy as np

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

fig = plt.figure()
ax = plt.gca()

# 10개의 무작위 선을 먼저 그립니다
[ax.plot(np.random.rand(10)) for j in range(10)]

# 오류 막대는 나중에 그려져 가장 위에 렌더링됩니다
ax.errorbar(range(10), np.random.rand(10), yerr=.3 * np.random.rand(10))

plt.show()

실행 결과

코드를 실행하면 10개의 무작위 선이 먼저 그려지고, 그 위에 파란색 오류 막대가 겹쳐져 표시되는 것을 확인할 수 있습니다.

동작 원리

Matplotlib는 그리기 명령이 호출된 순서대로 아티스트(artists)를 캔버스에 렌더링합니다. 따라서 errorbar()를 다른 플롯 명령보다 나중에 호출하면, 오류 막대가 자연스럽게 z-순서상 가장 위에 위치하게 됩니다. 만약 이미 그려진 요소 위로 오류 막대를 올리고 싶다면 이처럼 호출 순서를 조정하는 것이 가장 간단한 방법입니다.