1. matplotlib library

   :  Python 프로그래밍 언어 및 numpy 라이브러리 Data를 선, 막대, 산점도, 히스토그램, 파이, 박스, 바이올 등으로 시각화해주는 그래픽 라이브러리입니다. png, pdf, svg 등의 포맷으로 저장이 가능합니다.

 

2. plot 그리기

   : matplotlib.pyplot을 plt로 불러와서 아래 code를 입력하면 아래와 같은 그래프를 얻을 수 있습니다.

 
   import matplotlib.pyplot as plt

   plt.figure(figsize=(5,2))
   plt.plot([1,2,3,4,5],[1,4,6,9,25], 'go')
   plt.show()
 
plt.figure(figsize=(가로 인치, 세로 인치)) 그래프 size 결정 
plt.plot([ x좌표 ],[ y 좌표])  그래프의 x, y 좌표 설정
plt.show()   : 그래프를 그리는 명령어

                          

 

 

   : 이번에는 그래프 스타일(ggplot) 및 마커(circle)에 변경을 주겠습니다. 다른 설정에 대한 option은 link에서 확인이 가능합니다. 

 
   plt.style.use('ggplot')
   plt.plot([1,2,3,4,5], [1,4,6,9,25], 'go')
   plt.show()
 
plt.style.use('ggplot') 그래프의 형식을 지정
plt.plot([1,2,3,4,5], [1,4,6,9,25], 'go') 'go'는 green circle 을 의미

 

 

 

   : 그래프의 제목 및 x, y 축 이름을 지정해보겠습니다.

 
   plt.figure(figsize=(3,3))
   plt.plot([1,2,3,4,5],[1,4,6,9,25], 'go:')
   plt.title("Graph")
   plt.xlabel('X')
   plt.ylabel('Y')
   plt.show()
 
plt.plot([1,2,3,4,5],[1,4,6,9,25], 'go:') go: 은 green + circle + dotted line style 를 의미
plt.title("Graph") 그래프 이름을 Graph로 설정
plt.xlabel('X') x축 이름을 X로 설정
plt.ylabel('Y') y축 이름을 Y로 설정

 

 

   : 이번에는 한번에 여러개의 선을 그리는 방법을 확인해 보겠습니다.

 
   x_label = ['Jan','Feb','Mar','Apr','May','Jun']
   y_label_01 = [100,60,70,80,65,90]
   y_label_02 = [50,80,30,10,90,60]
   y_label_03 = [80,70,60,75,45,80]

   plt.plot(x_label, y_label_01, 'ro-', label="y_label_01")
   plt.plot(x_label, y_label_02, 'bo--', label="y_label_02")
   plt.plot(x_label, y_label_03, 'go:', label="y_label_03")
   plt.legend(loc='lower right')
   plt.xlim(-0.5,5.5)
   plt.ylim(0,105)

   plt.show()
 
plt.plot(x_label, y_label_01, 'ro-', label="y_label_01") label의 이름을 y_lable_01로 지
plt.legend(loc='lower right') label 을 표시하는 위치를 low right 로 지정
plt.xlim(-0.5,5.5) x축 범위
plt.ylim(0,105) y축 범위

 

 

   : 이중 y축을 사용한 꺾은선 그래프이다. 하나의 그림위에 axis를 두개 생성해서 각 axis에 그래프를 그린 뒤 합친다고 생각하면 된다.

 
   fig, ax1 = plt.subplots()
   ax2 = ax1.twinx()

   x_label = ['Jan','Feb','Mar','Apr','May','Jun']
   y_label_01 = [100,60,70,80,85,90]
   y_label_02 = [500,800,300,100,900,600]

   line_01 = ax1.plot(x_label, y_label_01, color = "red", label="y_label_01")
   line_02 = ax2.plot(x_label, y_label_02, color = "yellow", label="y_label_02")

   lines = line_01 + line_02

   ax1.set_ylabel("1st_y")
   ax2.set_ylabel("2nd_y")

   labels = [line_01[0].get_label(), line_02[0].get_label()]
   plt.legend(lines, labels, loc="lower right")

   plt.show()
 

'데이터 처리' 카테고리의 다른 글

1. pandas 기초  (0) 2024.07.20

+ Recent posts