반응형

파이썬 matplotlib로 파이그래프 그리고 설정하기

 

1. 목표

  • 파이 그래프(도넛, 원형 그래프)를 그린다
  • 파이그래프에 그림자, 값, 효과를 설정한다

2. 전체코드

import matplotlib.pyplot as plt

label = ['Korea', 'German', 'Sweden', 'France', 'Italy']
pop = [51821669	, 82379121, 10255102, 65712057, 59575231]
wg = {'width': 0.6, 'edgecolor': 'b', 'linewidth':3}

plt.pie(pop, labels=label, autopct='%.1f%%',
        explode=[0, 0.05, 0, 0, 0], shadow=True,
        wedgeprops=wg, startangle=10)

plt.show()

 

3. 뜯어보기

wg = {'width': 0.6, 'edgecolor': 'b', 'linewidth':3}
  • 파이 그래프에서 사용되는 속성을 dict형식으로 미리 표현한다.

    • width : 0.6

      • 도넛 모양의 그래프를 그릴때 사용한다

      • 도넛의 중심부의 크기를 설정한다

      • 0.6은 절대 값이아닌 전체 크기의 60%를 뜻한다.

    • edgecolor : b

      • 파이 그래프 각 조각의 테두리 색을 설정한다.

      • 'b'이므로 blue로 설정된다

    • linewidth : 3

      • 파이 그래프 각 조각의 테두리 두께를 설정한다.

plt.pie(pop, labels=label, autopct='%.1f%%',
        explode=[0, 0.05, 0, 0, 0], shadow=True,
        wedgeprops=wg, startangle=10)
  • pop

    • 파이를 그릴 데이터를 입력한다

  • label

    • 각 파트의 라벨을 입력한다.

  • autopct = '%.1f%%'

    • 각 파이 조각의 비율을 표시한다.

    • 0.1f이기에 소수점 1자리까지 표시한다.

  • explode=[0, 0.05, 0, 0, 0]

    • 중심에서 떨어져 있는 효과를 준다.

    • 특정 데이터를 강조할때 사용한다

  • shadow=True

    • 그림자 효과를 넣는다

  • wedgeprops=wg

    • 위에서 설정한 wg라는 dict값으로 설정한다

  • startangle=10

    • 처음 시작 각도를 10도부터 시작한다 (기준점은 12시방향이 0도다)

 

4. 결과

반응형
반응형

파이썬 matplotlib 범례 설정하기

 

 

1. 목표

  • 범례를 넣고 위치, 폰트, 색상등을 설정한다
  • x, y축의 범위를 설정한다

2. 전체코드

import matplotlib.pyplot as plt

label = ['Korea', 'German', 'Sweden', 'France', 'Italy']
pop = [5182, 8237, 1025, 6571, 5957]
pop2 = [3224, 6119, 800, 5077, 5369]

plt.plot(label, pop)
plt.plot(label, pop2)
# plt.legend([2020, 1970], loc='upper right', ncol=2, fontsize=10, labelcolor='#008000')
plt.legend([2020, 1970], loc='upper right', ncol=1, fontsize=10, labelcolor='#008000')

plt.axis([-1,5,0,10000])

plt.show()

 

3. 뜯어 보기

plt.legend([2020, 1970], loc='upper right', ncol=2, fontsize=10, labelcolor='#008000')
  • [2020, 1970]

    • 2가지 범례의 이름이다.

    • plt.plot에서 값을 넣은 순서대로 명칭이 정해진다.

  • loc='upper right'

    • location을 설정한다.

    • 설정하지 않으면 자동으로 적절한 위치에 배치된다.

  • ncol=2

    • 범례를 표시할때 열의 개수를 정한다.

    • 범례가 2개일 경우 ncol=2이면 1행 2열로 2개의 범례를 출력한다.

    • 아래 결과 그림 참고

plt.axis([-1,5,0,10000])
  • 축의 표시 범위를 설정한다.

  • [-1, 5, 0, 10000]

    • 앞에서부터 x-min, x-max, y-min, y-max이다.

4. 결과

반응형
반응형

파이썬 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. 결과

반응형
반응형

파이썬(Python) matplotlib 선 그래프에서 포인트 모양 변경, 선 색, 선 종류 변경

 

 

1. 목표

  • matplotlib에서 각 데이터 포인트의 표시 모양을 변경

  • 선 그래프에서 선 색상 변경하기

  • 선 그래프에서 선 종류 변경하기

  • numpy의 arange 사용하기

 

2. 전체 코드

import matplotlib.pyplot as plt
import numpy as np

plt.title('Chapter 02')
plt.ylabel('Y axis')
plt.xlabel('X axis')

t = np.arange(0.0, 5.0, 0.2)
print(t)
print(type(t))

plt.plot(t, t, 'r--', t, t**2, 'bs', t, t**3, 'g^')

plt.show()

 

 

3. 뜯어 보기

import numpy as np
  • numpy를 import한다

  • 아래에서 사용될 arange(0.0, 5.0, 0.2)를 사용하기위해 import한다.

t = np.arange(0., 5., 0.2)
  • numpy를 이용하여 [0, 0.2, 0.4 ..... 4.6,, 4.8]의 값을 만든다.

  • aa = [i / 10 for i in range(1,50,1)] 로 대체해서 쓸 수 있다.

    • 단 부동소수점 문제가 생길 수 있다.

plt.plot(t, t, 'r--', t, t**2, 'bs', t, t**3, 'g^')
  • 3개의 그래프를 그린다

    • t, t, 'r--'

      • t값을 x축, y축 값으로 삼아서 그래프를 그린다.

      • 'r'은 선의 색 Red를 뜻한다.

      • '--' 대쉬선 (점선)을 뜻한다.

    • t, t**2, 'bs'

      • t값을 x축, t**2값(t의 2제곱)을 y축 값으로 그래프를 그린다.

      • 'b'는 선의 색 blue를 뜻한다.

      • 's'는 squrae의 약자로 각 포인트를 사각 점으로 표시한다.

    • t, t**3, 'g^'

      • t값을 x축 t**3(t의 3제곱)을 y축 값으로 그래프를 그린다.

      • 'g'는 선의 색 green을 뜻한다.

      • '^'는 삼각형 모양으로 각 포인트를 표시한다.

plt.show()
  • 위에서 그린 그래프를 출력한다.

 

4. 결과

반응형
반응형

파이썬(python) matplotlib로 차트 그리기

 

 

1. 목표

  • 기본적인 선 그래프(line chart) 그리기

  • 차트 제목(타이틀) 입력하기

  • X축, Y축 타이틀 입력하기

 

2. 전체 코드

import matplotlib.pyplot as plt

plt.plot([1,2,5,4])

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

plt.show()

 

3. 뜯어보기

import matplotlib.pyplot as plt
  • matplotlib.pyplotd을 import한다

plt.plot([1,2,5,4])
  • 선을 그릴 데이터를 입력한다.

  • y축의 값으로 1,2,5,4를 입력한다.

  • x축은 1,2,3,4로 순서대로 자동 입력된다.

plt.title('chapter 01')
plt.ylabel('Y axis')
plt.xlabel('X axis')
  • plt.title로 차트 전체의 제목을 달아준다.

  • ylabel, xlabel은 각 축에 맞춰 축 이름이 붙는다.

4. 결과

 

반응형

+ Recent posts