Python/Matplotlib

[Matplotlib] 파이썬 선 그래프 색상, 점선, 마커, 여러 개 : plt.plot

jimmy_AI 2022. 1. 7. 13:58
반응형

파이썬 plt 선 그리기 방법 정리 : plt.plot 함수

안녕하세요. 이번 글에서는 파이썬 matplotlib에서

선 그래프를 그려보고, 색상, 굵기, 선 스타일, 마커 등의 속성을 지정하는 방법,

그리고 여러 개의 선을 겹쳐서 그리는 방법을 살펴보겠습니다.

 

matplotlib의 가장 기본적인 그래프 함수라고도 볼 수 있는 plt.plot 함수는

x, y축 좌표들의 목록(리스트, pd.Series 등)을 input으로 받아

그래프를 그릴 수 있게 해줍니다.

 

참고로, 각 축을 숫자가 아닌 범례로 지정하는 것도 가능하며,

임의의 두 좌표를 잇는 선도 얼마든지 그릴 수 있습니다.

import matplotlib.pyplot as plt

x = ['a', 'b', 'c', 'd']
y = [6, 9, 8, 5]

# 기본적인 그래프 예시, x축은 범례
plt.plot(x, y)
plt.show()

x = [0, 0]
y = [0, 100]

# 직선을 그린 예시, (0, 0)과 (0, 100)을 잇는 선 그래프
plt.plot(x, y)
plt.show()

 

 

선 그래프 색깔, 굵기 설정 : color, linewidth 인자

선 그래프의 색깔과 굵기는 각각 color, linewidth 인자로 지정이 가능합니다.

color 인자는 'red' 처럼 색의 full name, 'r' 처럼 색상 이름의 약자 등이 가능하며,

color 대신 c 인자로 넣어주셔도 무관합니다.

 

선 그래프의 굵기 조정은 linewidth 인자로 가능합니다.

x = ['a', 'b', 'c', 'd']
y = [6, 9, 8, 5]

# color = 'green' 과 동일한 상황, 선 굵기는 5
plt.plot(x, y, c = 'g', linewidth = 5)
plt.show()

반응형

선 그래프 스타일, 마커 지정 : linestyle, marker 인자

점선 등의 선 스타일은 linestyle 인자로 지정이 가능하며,

'solid', 'dashed', 'dashdot', 'dotted' 처럼 full name으로 지정하셔도 좋고,

'-', '--', ':' 처럼 별칭으로 지정해도 좋습니다.

 

marker 인자에서는 마커의 모양을 지정할 수 있으며,

'o', 'x', 's', '^', ... 등의 다양한 모양을 지원합니다.

마커의 크기는 markersize 인자로 지정하시면 됩니다.

# linestyle = dashed와 동일
plt.plot(x, y, c = 'pink', linestyle = '--', marker = 'o', markersize = 7)
plt.show()

참고로 다음과 같이 색상 이름(1글자 약자인 경우), 마커 모양, 선 스타일을

한 번에 지정하는 옵션도 plt.plot 함수에서 지원하고 있습니다.

# 노란색, o 마커, -- 선 스타일 단번에 지정
plt.plot(x, y, 'yo--')
plt.show()

 

 

선 그래프 여러개 겹쳐서 그리기

선 그래프를 여러개 겹쳐서 그리는 방법은 plt.plot을 plt.show가 나타나기 이전에

여러번 실행시켜 주면 완료됩니다.

 

label 인자를 지정하여 범례를 각 그래프마다 지정해줄 수 있습니다.

x = ['a', 'b', 'c', 'd']
y = [6, 9, 8, 5]
z = [5, 3, 7, 8]

plt.plot(x, y, 'cs--', label = 'graph1') # cyan 색, square 마커
plt.plot(x, z, 'rx:', label = 'graph2')
plt.legend() # 범례 표시
plt.show()