바이오 대표

[ matplotlib #1 ] Python matplotlib.pyplot 기본 코드 한번에 정리_1 (Marker) 본문

Python/matplotlib

[ matplotlib #1 ] Python matplotlib.pyplot 기본 코드 한번에 정리_1 (Marker)

바이오 대표 2022. 4. 18. 08:46

 

"Python matplotlib.pyplot"

 

Introduction 

"Matplotlib" 은 2D 그래프를 그릴때 가장 많이 사용되는 Python 라이브러리중 하나입니다. 해당 라이브러리를 이용하여 데이터를 다양한 형태로 visualization할 수 있고 논문에 기재될 만큼 좋은 퀄리티로 표현될 수 있습니다. 

 

Pyplot 

Pyplot은 MATLAB언어 에서 유래된 모듈로, MARLAB에서 구사하는 plotting과 유사하게 Python 을 이용하여 사용 할 수 있게 해줍니다. 해당 모듈은 "stateful API (state-based)" 방법으로 현재의 figure (그래프를 그릴 공간) 와 ax,axes (그 공간중 사용할 부분) 을 자동으로 찾아 해당 공간에 plotting 하는 방식입니다. 단순 Matplotlib은 이와 다르게 "statekess API (objected-based)" 방법으로 figure 와 ax를 직접만들어야 하기에 pyplot을 이용하면 보다 편리하게 사용을 할 수 있습니다. 

 

해당 모듈은 다음과 같은 코드로 불러올 수 있습니다. Pyplot 은 보통 plt 로 축약하여 사용합니다.

import matplotlib.pyplot as plt

 

해당 포스팅은 "기본 plotting, markers style" 을 주로 다루었습니다. 

" 표시, line style 수정, labelling, grid, subplot, scatter, bars, histograms, pie charts" 과 관련된 설명은 다음 포스팅에... 

 

 

Plotting

plot( ) 함수는 도표(diagram)에 점(points)들을 그릴 때 사용합니다. Default로는 두 점을 잇는 선(line)을 그려줍니다. 

plt.plot(x_point, y_point) 

함수의 첫번째 파라미터(parameter)로는 (x_point) x-axis 의 arrays , 두번째 parameter는 (y_point) y-axis의 array로 사용합니다. 예로, 점 (5,7) 에서 (10,10) 까지의 선을 그리고 싶으면 parameter로 두개의 array [5, 10], [7,10]을  넣어주면 됩니다.

 

# Example

# (5,7) to (10,10) 도표에서 라인 그리기 
import matplotlib.pyplot as plt
import numpy as np

xpoints = np.array([5, 10])
ypoints = np.array([7, 10])

plt.plot(xpoints, ypoints)
plt.show()

 

Markers

argument marker 을 이용해서 각각의 점들을 다르게 표시하여 강조 할 수 있습니다. 

plt.plot(x_point, y_point, marker = ' ' ) 

 

Marker Arguments

  • market = '모양'
  • fmt = 'marker/line/color'
  • ms : markersize
  • mec : markeredgecolor
  • mfc : markerfacecolor 

 

# Example

marker = 'o' 으로 circle 로 점d을 강조해보겠습니다.

# point [(0,3), (1,7), (2,2), (3,10)]
import matplotlib.pyplot as plt
import numpy as np

xpoints = np.array([0, 1, 2, 3])
ypoints = np.array([3, 7, 2, 10])

plt.plot(ypoints, marker = 'o')
plt.show()

 

circle이 아니라 별, x, +, 다이아몬드,오각형 모양 등 다양한 옵션을 사용 할 수 있습니다. 이를 위해서는 marker = '*', 'x', '+', 'D'. 'p' 라고 작성하면 됩니다. 

plt.plot(ypoints, marker = 'p')

 

fmt 파라미터는 shortcut string notion으로 marker/line/color을 한번에 수용할 수 있어서 line 스타일과 색을 동시에 변경 할 수 있습니다.

plt.plot(x_point, y_point, 'marker/line/color' ) 

'o:r'은 marker = circle, line =dotted, r = red 를 뜻합니다. 

plt.plot(ypoints, 'o:r')

 

Others

  • ms : markersize 
  • mec : markeredgecolor
  • mfc : markerfacecolor 
plt.plot(ypoints, marker = 'o', ms = 20, mfc = 'y', mec = 'r')

! 더 다양한 모양, 옵션에 대해 알고 싶다면 다음 포스팅을 활용해주세요.

 

 

 

참고 사이트

https://www.w3schools.com/python
https://realpython.com/python-matplotlib-guide/