복습

matplotlib 그래프그리기 '기본사용' 튜토리얼 따라해보기

glenlee 2024. 1. 6. 20:46

기본 그래프 그리기

 

예제1 

import matplotlib.pyplot as plt

plt.plot([1, 2, 3, 4])
plt.show()

 

pyplot.plot() 함수에 하나의 숫자 리스트를 입력함으로써 아래와 같은 그래프가 그려집니다.

plot() 함수는 리스트의 값들이 y 값들이라고 가정하고, x 값 [0, 1, 2, 3]을 자동으로 만들어냅니다.

matplotlib.pyplot 모듈의 show() 함수는 그래프를 화면에 나타나도록 합니다.

 

plt.plot([1, 2, 3, 4])는 y 값을 생성하여  수직으로 상승하는 숫자들을 생성한다.

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

 

1,2,3,4,5 를 붙여보니 x 축 을 생성했다 

 

plt.plot([x],[y]) x,y  값 다쓸경우

plt.plot([y]) 값을 하나만 쓸경우

 

 

예제2

import matplotlib.pyplot as plt

plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
plt.show()

plot() 함수는 다양한 기능을 포함하고 있어서, 임의의 개수의 인자를 받을 수 있습니다.

예를 들어, 아래와 같이 입력하면, x-y 값을 그래프로 나타낼 수 있습니다.

 

 

 

 

 

스타일 지정하기

 

예제

import matplotlib.pyplot as plt

plt.plot([1, 2, 3, 4], [1, 4, 9, 16], 'ro')
plt.axis([0, 6, 0, 20])
plt.show()

 

x, y 값 인자에 대해 선의 색상과 형태를 지정하는 포맷 문자열 (Format string)을 세번째 인자에 입력할 수 있습니다.

포맷 문자열 ‘ro’는 빨간색 (‘red’)의 원형 (‘o’) 마커를 의미합니다.

또한, 예를 들어 ‘b-‘는 파란색 (‘blue’)의 실선 (‘-‘)을 의미합니다.

matplotlib.pyplot 모듈의 axis() 함수를 이용해서 축의 범위 [xmin, xmax, ymin, ymax]를 지정했습니다.

결과는 아래와 같습니다.

 

plot 은 값의 지정,

axis 축 의 크기 지정

 

 

 

plot 에 각각 다른 색과 그래프 형식을 지정

 

 

 

 

 

 

 

가용 마커들

  • '.': 작은 점
  • ',': 픽셀
  • 'o': 원형
  • 'v': 아래쪽 삼각형
  • '^': 위쪽 삼각형
  • '<': 왼쪽 삼각형
  • '>': 오른쪽 삼각형
  • '1': 아래쪽 방향으로 플랫
  • '2': 위쪽 방향으로 플랫
  • '3': 왼쪽 방향으로 플랫
  • '4': 오른쪽 방향으로 플랫
  • 's': 사각형
  • 'p': 오각형
  • '*': 별표
  • 'h': 육각형1
  • 'H': 육각형2
  • '+': 플러스 기호
  • 'x': X 기호
  • 'D': 다이아몬드
  • 'd': 작은 다이아몬드

 

여러 개의 그래프 그리기

 

 

import matplotlib.pyplot as plt
import numpy as np

# 200ms 간격으로 균일하게 샘플된 시간
t = np.arange(0., 5., 0.2)

# 빨간 대쉬, 파란 사각형, 녹색 삼각형
plt.plot(t, t, 'r--', t, t**2, 'bs', t, t**3, 'g^')
plt.show()

 

Matplotlib에서는 일반적으로 NumPy 어레이를 이용하게 되는데,

사실 NumPy 어레이를 사용하지 않더라도 모든 시퀀스는 내부적으로 NumPy 어레이로 변환됩니다.

이 예제는 다양한 스타일을 갖는 여러 개의 곡선을 하나의 그래프로 나타냅니다.

결과는 아래와 같습니다.  

 

 

 

t = np.arange(0., 5., 0.2)  = 0에서 5까지, 0.2 씩

 

np.arange(0., 5., 0.2)는 NumPy의 arange() 함수를 사용하여 0부터 5까지 (5는 포함되지 않음) 0.2 간격으로 숫자들을 생성합니다. 이 값들은 0부터 시작하여 5 직전까지 0.2씩 증가하는 일련의 값들을 생성합니다.

즉, t에는 0부터 4.8까지의 숫자들이 0.2 간격으로 포함됩니다. 이러한 t 배열은 주로 시간 또는 x 축 값으로 사용되는 등 여러 그래프에서 입력 변수로 자주 활용됩니다.

 

(0., 5., 0.2)

0 과 5에 . 이붙은 이유는 부동소수점으로 표시하기 위함이며,  없으면  0에서 5까지 정수로만 표현하게된다.

 

3년간 3명의 성적  변화 1년씩 측정

 

 

# 빨간 대쉬, 파란 사각형, 녹색 삼각형
plt.plot(['year1', 'year2', 'year3'],[30, 40, 50],'b-',
                                     [30, 45, 60],'r-',  
                                     [30, 50, 70],'g-', )
plt.show()

 

 

 

plt.plot(['year1', 'year2', 'year3'], [30, 40, 50], 'b-', label='student1')
plt.plot(['year1', 'year2', 'year3'], [30, 45, 60], 'r-', label='student2')
plt.plot(['year1', 'year2', 'year3'], [30, 50, 70], 'g-', label='student3')

plt.legend()  # 범례 추가
plt.show()

 

 

 

 

'복습' 카테고리의 다른 글

240107  (0) 2024.01.07
230105복습  (0) 2024.01.07
240104복습  (1) 2024.01.05
loc 와 iloc의 차이  (1) 2024.01.05
240103복습  (0) 2024.01.03