반응형

파이썬 matplotlib 두개의 그래프 동시 표시하기

 

 

1. 목표

  • 한 화면에 두개의 그래프 표시하기

  • 각 포인트에 데이터값(좌표) 표시하기

 

2. 전체 코드

import matplotlib.pyplot as plt
import numpy as np

plt.title('chapter 01')
plt.ylabel('Y axis')
plt.xlabel('X axis')

t1 = np.arange(0, 5, 1)
t2 = np.arange(0, 5, 1)

plt.subplot(211)
plt.pie(t1)

plt.subplot(212)
plt.plot(t2, np.cos(t2), 'r--')

for i, txt in enumerate(t2):
    plt.text(t2[i]+0.1, np.cos(t2[i]), str(np.cos(t2[i])), fontsize=10)

plt.show()

 

3. 뜯어보기

plt.subplot(211)
plt.pie(t1)
  • 한 화면에 2개 이상의 차트를 출력할 때 subplot을 사용한다.

  • plt.pie(t1)을 이용하여 t1데이터로 파이그래프(원형 그래프)를 그린다.

for i, txt in enumerate(t2):
    plt.text(t2[i]+0.1, np.cos(t2[i]), str(np.cos(t2[i])), fontsize=10)
  • plt.plot에서 그린 t2에 대한 코사인 그래프에 각 포인트값을 표시한다.

  • enumerate()는 리스트의 인덱스 번호와 내용을 같이 출력한다.

  • plt.text는 차트에 글자를 출력한다.

    • plt.annotation()을 사용해서도 값을 표시 할 수있지만 폰트 조정이 안된다.

  • 't2[i] + 0.1, np.cos(t2[i])'는 글자가 쓰여질 위치를 선택한다.

  • 'str(np.cos(t2[i]))'는 출력할 값을 뜻한다.

    • str()은 두번째 인수와 구분하여 설명하기 위해 사용했을뿐 없이 사용해도 무관하다.

 

4. 결과

반응형

+ Recent posts