프로그래밍/[ Python ]

[Python] Matplotlib

gooooooood 2024. 11. 22. 10:39
반응형

Matplotlib은 Python에서 데이터 시각화를 위한 가장 널리 사용되는 라이브러리입니다. 데이터를 그래프나 차트 형태로 시각화하는 데 사용되며, 다양한 유형의 차트를 지원합니다. 여기서는 Matplotlib을 사용하여 자주 사용되는 3가지 차트 예시를 소개하고 각각의 코드와 함께 설명해 드리겠습니다.

1. 선 그래프 (Line Plot)

선 그래프는 데이터의 추세를 시각적으로 표현하는 데 유용합니다. 일반적으로 시간에 따른 변화를 나타내거나 연속적인 데이터를 시각화할 때 사용됩니다.

예시 코드:

import matplotlib.pyplot as plt

# 데이터 생성
x = [0, 1, 2, 3, 4, 5]
y = [0, 1, 4, 9, 16, 25]

# 선 그래프 그리기
plt.plot(x, y, label="y = x^2", color='b', marker='o')

# 제목, 레이블 추가
plt.title("선 그래프 예시")
plt.xlabel("x 값")
plt.ylabel("y 값")

# 범례 표시
plt.legend()

# 그래프 출력
plt.show()

설명:

  • plt.plot(x, y)는 x와 y 값을 연결하는 선을 그립니다.
  • label은 그래프의 범례를 추가합니다.
  • color와 marker는 그래프 선의 색상과 각 데이터 포인트에 표시되는 마커 모양을 지정합니다.
  • plt.title(), plt.xlabel(), plt.ylabel()을 통해 제목과 축 레이블을 추가할 수 있습니다.
  • plt.legend()는 그래프의 범례를 표시합니다.

출력 그래프:

  • 그래프 내용: x와 y 값 (0, 1, 4, 9, 16, 25)에 해당하는 점들이 차례대로 선으로 연결됩니다. 이 선은 y = x^2 함수의 형태를 따릅니다.
  • 그래프 특징:
    • 그래프는 점들이 부드럽게 연결된 선으로 나타납니다.
    • x 값에 따라 y 값이 급격히 증가하는 패턴이 보입니다.
    • 범례(y = x^2)와 축 제목이 표시됩니다.
 y
 ^
 |                      *
 |                *
 |          *
 |    *
 | *
 +----------------------------> x

 

2. 막대 그래프 (Bar Plot)

막대 그래프는 데이터 항목 간 비교를 시각적으로 쉽게 표현할 수 있는 차트입니다. 범주형 데이터의 크기 비교에 적합합니다.

예시 코드:

import matplotlib.pyplot as plt

# 데이터 생성
categories = ['A', 'B', 'C', 'D']
values = [3, 7, 2, 5]

# 막대 그래프 그리기
plt.bar(categories, values, color='orange')

# 제목, 레이블 추가
plt.title("막대 그래프 예시")
plt.xlabel("카테고리")
plt.ylabel("값")

# 그래프 출력
plt.show()

설명:

  • plt.bar()는 각 카테고리의 값을 막대로 나타냅니다.
  • categories는 각 막대가 나타내는 범주(예: 'A', 'B', 'C', 'D')이고, values는 각 카테고리의 값입니다.
  • color를 사용하여 막대의 색을 지정할 수 있습니다.

출력 그래프:

  • 그래프 내용: categories = ['A', 'B', 'C', 'D']에 대한 값들이 막대 형태로 그려집니다.
    • A는 3, B는 7, C는 2, D는 5의 값을 가집니다.
  • 그래프 특징:
    • 각 범주(A, B, C, D)마다 해당하는 값의 높이를 가진 직사각형 막대들이 표시됩니다.
    • 각 막대의 색상은 오렌지색이며, 범주별로 높이가 다르게 나타납니다.
 y
 ^
 |            █
 |            █
 |    █       █
 |    █       █   █
 |    █   █   █   █
 +----------------------------> x
         A   B   C   D

 

3. 산점도 (Scatter Plot)

산점도는 두 변수 간의 관계를 나타내는 데 사용됩니다. 각 점은 두 변수의 값을 나타내며, 데이터 포인트들이 어떻게 분포하는지 시각적으로 보여줍니다.

예시 코드:

import matplotlib.pyplot as plt

# 데이터 생성
x = [1, 2, 3, 4, 5]
y = [1, 4, 9, 16, 25]

# 산점도 그리기
plt.scatter(x, y, color='green', marker='x')

# 제목, 레이블 추가
plt.title("산점도 예시")
plt.xlabel("x 값")
plt.ylabel("y 값")

# 그래프 출력
plt.show()

설명:

  • plt.scatter(x, y)는 x와 y 값에 해당하는 점들을 그립니다.
  • color는 점의 색을, marker는 점의 모양을 지정합니다. 예시에서는 'x' 모양을 사용했습니다.
  • 산점도는 두 변수 간의 상관 관계나 분포를 시각적으로 확인할 때 유용합니다.

출력 그래프:

  • 그래프 내용: x 값([1, 2, 3, 4, 5])에 대한 y 값([1, 4, 9, 16, 25])에 해당하는 점들이 산점도 형태로 분포합니다.
    • 각 점은 x와 y 값에 대응하는 위치에 나타납니다.
  • 그래프 특징:
    • 각 점은 'x' 모양이며, 초록색으로 표시됩니다.
    • x 값이 증가함에 따라 y 값이 급격하게 증가하는 형태를 보입니다.
 y
 ^
 |         x
 |     x
 |  x
 | x
 |x
 +----------------------------> x
     1  2  3  4  5

 

그래프 출력 방법

이 코드들은 로컬 환경이나 Jupyter Notebook에서 실행하면 실제로 그래프를 확인할 수 있습니다. 예를 들어, Jupyter Notebook에서는 matplotlib 그래프가 바로 표시되고, 일반적인 Python 환경에서도 plt.show() 명령을 사용하여 그래프가 새 창에 표시됩니다.

다음과 같이 코드를 실행하면 그래프를 확인할 수 있습니다:

$ pip install matplotlib  # 설치가 안 되어 있으면

 

그 후, Python 파일이나 Jupyter Notebook에서 코드 실행을 통해 위에서 설명한 출력 그래프를 실제로 확인할 수 있습니다.

 

요약:

  1. 선 그래프: 연속적인 데이터의 추세를 시각화할 때 사용.
  2. 막대 그래프: 범주형 데이터의 크기를 비교할 때 사용.
  3. 산점도: 두 변수 간의 관계를 시각적으로 분석할 때 사용.

Matplotlib은 이 외에도 다양한 차트 유형을 지원하며, plt 객체를 사용하여 세부적인 설정을 조정할 수 있습니다. 각 차트에 다양한 스타일과 색상, 레이블 등을 추가하여 시각적으로 더 효과적인 그래프를 만들 수 있습니다.

 

 

반응형

'프로그래밍 > [ Python ]' 카테고리의 다른 글

[Python] Requests Module  (0) 2024.11.26
[Python] MySQL  (0) 2024.11.25
[Python] Lambda  (0) 2024.11.21
[Python] Iterator  (2) 2024.11.20
python 정규 표현식 regex  (0) 2024.11.19