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-순서상 가장 위에 위치하게 됩니다. 만약 이미 그려진 요소 위로 오류 막대를 올리고 싶다면 이처럼 호출 순서를 조정하는 것이 가장 간단한 방법입니다.