본문 바로가기

코딩/데이터분석

[Python/파이썬] 필요한 부분만 정리하는 matplotlib 1편

반응형

2021.08.15 - [코딩/Python] - [Python/파이썬] 필요한 부분만 정리하는 matplotlib 1편

2022.11.10 - [코딩/Python] - [Python/파이썬] matplotlib 2편 : 그래프 시각화 y축 숫자가 섞여서 나오는 문제 해결

 

 

  필요한 부분만 정리하는 matplotlib 1편. 아래 내용은 위키독스의 'Matplotlib Tutorial - 파이썬으로 데이터 시각화하기'라는 책을 참고하여 정리하였다.

 

  앞으로 정리하는 내용은 아래 matplotlib 라이브러리의 pyplot 모듈을 사용한다. 라이브러리 및 모듈명이 길기 때문에 코드에서는 plt로 줄여 사용.

import matplotlib.pyplot as plt

 

 

1. 기본 그래프 그리기

 

  기본적으로 그래프를 그리는 법은 plt.plot( ) 함수를 사용한다. 그래프를 실제 출력해주는 부분은 plt.show( )이다. 여러개의 .plot을 각각 띄우고 싶다면 plot마다 plt.show( ) 를 해주면 된다.

 

<코드>

#1 : 기본그래프 그리는 방법
print("1. 그래프 그리는법")
x=[5,10,12,13]
plt.plot(x)
plt.show()

 

 

 

2. x, y 형식으로 그래프 그리기(y=2x)

 

  아래와 같이 x,y를 정의하고 plt.plot( ) 함수의 매개변수로 넣어주면 각각 x축, y축의 data로 그래프가 그려진다.

 

<코드>

#2 : x,y형식으로 그래프 그리기
print("2. x,y 형식으로 그래프 y=2x")
x= [1,2,3,4]
y= [2,4,6,8]
plt.plot(x,y)
plt.show()

 

 

 

3. 그래프 스타일 지정하기(색, 실선, 점선 등)

 

  plt.plot 에서 'bo'인경우 파란색 dot형 그래프, 'r-'이면 '빨간색 실선, 'g--'이면 초록색 실선이다. 직관적으로 알수잇겠지만 첫번째 자리는 색깔(r,g,b,y 등)이며, 두번째 자리는 그래프의 형태이다. 그래프의 형태는 'o'인경우 dot형 그래프, '-'인 경우 실선, '--'인 경우 점선 그래프이다.

 

<코드>

#3 : 스타일 지정하기
print("2. x,y 형식으로 그래프 y=2x")
x= [1,2,3,4]
y= [2,4,6,8]
z = [6,4,5,2]
plt.plot(x, 'bo') #bo이면 파란색 dot임
plt.plot(y, 'r-') #r-이면 빨간색 실선
plt.plot(z, 'g--') #g--이면 초록색 점선
plt.show()

 

 

 

 

4. 한번에 여러개 그래프 그리기

 

  한 plot에 여러개 그래프를 그리는 방법은 아래 plt.plot과 같이 여러개 변수를 입력하고 각각 스타일을 다르게 지정하면 된다.

 

<코드>

#4 : 한번에 여러개 그래프 그리기
import matplotlib.pyplot as plt

x= [1,2,3,4]
y= [2,4,6,8]
z = [6,4,5,2]

plt.plot(x, 'bo', y, 'r--', z, 'g-') 
plt.show()

 

 

 

5. 딕셔너리(레이블)로 그래프 그리기

 

  딕셔너리로 그래프를 그리려면 딕셔너리의 key를 .plot의 매개변수로 입력한다. 대신 data=딕셔너리명이라는 파라미터를 입력해주어야 한다.

 

<코드>

#5 : 딕셔너리(레이블)로 그래프 그리기
# y = 2x, z=3y
import matplotlib.pyplot as plt

dic = {'x' : [1,2,3], 'y' : [2,4,6], 'z' : [6,12,18]}
plt.plot('x','y','b--',data=dic,)
plt.plot('y','z','g--',data=dic)
plt.show()

 

 

6. 축과 범례, 그래프 제목 표시하기

 

 

축 이름 : plt.xlabel("문자열"), plt.ylabel("문자열")

그래프 제목 : plt.tiltle("문자열")

범례 표시 :

plt.plot(..... label='범례명')

plt.legend( ) 

 

 

<코드>

#6. 축과 범례, 그래프 Title 표시
# y = 2x, z=3y

dic = {'x' : [1,2,3], 'y' : [2,4,6], 'z' : [6,12,18]}
plt.plot('x','y','b--',data=dic, label='y=2x') #범례 설정(label)
plt.plot('y','z','g--',data=dic, label='z=3y') 

#그래프 Title 표시
plt.title("test")

#축 명칭 설정
plt.xlabel("X-axis")
plt.ylabel("Y-axis")

 #범례 표시
plt.legend()
plt.show()

 


참고링크 : 위키독스- 'Matplotlib Tutorial - 파이썬으로 데이터 시각화하기' https://wikidocs.net/92071

 

728x90