본문 바로가기
Python/matplotlib

[matplotlib] Tutorial: Scripting Style

by ds31x 2024. 6. 3.

Tutorial: Scripting Style 

 

이 문서는 matplotlib.pyplot의 script 방식에 대한 간단한 튜토리얼임.

 

scripting style에 대해서 잘 모르면 다음을 읽어볼 것.

2024.06.02 - [Python/matplotlib] - [matplotlib] Scripting Layer vs. Artist Layer

 

[matplotlib] Scripting Layer vs. Artist Layer

Scripting Layer vs. Artist LayerMatplotlib는Scripting Layer와 (이를 이용시 scripting style 이라고 불림)Artist Layer 라는 (이를 이용시 object-oriented style 이라고 불림)두 가지 주요 인터페이스를 plot을 그리기 위해

ds31x.tistory.com


1. matplotlib 설치 및 기본 설정 확인

먼저, matplotlib이 설치되어 있는지 확인할 것.
설치되어 있지 않다면 아래 명령어로 설치할 수 있음.

conda install matplotlib
# pip install matplotlib

 

설치 후, matplotlib의 backend와 기본 설정을 확인하는 코드는 다음과 같음.

import matplotlib
import matplotlib.pyplot as plt

# 현재 backend 확인
print("Current backend:", matplotlib.get_backend())

# 사용 가능한 모든 backend 확인
print("All available backends:", matplotlib.rcsetup.all_backends)

# 기본 설정 확인
print("Default parameters:")
print(matplotlib.rcParams)

2023.07.20 - [Python/matplotlib] - [Python] matplotlib : backend란

 

[Python] matplotlib : backend란

matplotlib: backend란 matplotlib의 backend 관련자료를 정리한 문서임.Matplotlib ArchitectureMatplotlib 아키텍트는 다음과 같이 크게 3가지 레이어로 구성된다.Backend Layer :상위 layer에서 graph를 생성하는데 초점

ds31x.tistory.com

 


2. 기본 사용법

matplotlib.pyplot을 사용하여 간단한 line graph를 그려보는 예제임.

import matplotlib.pyplot as plt

# 데이터 준비
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]

# 그래프 생성 (Create plot)
plt.plot(x, y)

# 그래프 제목 추가 (Add title)
plt.title('Simple Line Plot')

# x축, y축 레이블 추가 (Add x and y axis labels)
plt.xlabel('X-axis')
plt.ylabel('Y-axis')

# 그래프 출력 (Display plot)
plt.show()

함수 설명

  • plot(x, y): x와 y 데이터를 사용하여 line graph를 그림.
  • title('title'): 그래프의 title을 설정.
  • xlabel('label'), ylabel('label'): x축과 y축의 label을 설정.
  • show(): 그래프를 화면에 출력.

3. 다양한 그래프 그리기

3.1 산점도 (Scatter Plot)

import matplotlib.pyplot as plt

# 데이터 준비
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]

# 산점도 생성 (Create scatter plot)
plt.scatter(x, y)

# 그래프 제목 추가 (Add title)
plt.title('Simple Scatter Plot')

# x축, y축 레이블 추가 (Add x and y axis labels)
plt.xlabel('X-axis')
plt.ylabel('Y-axis')

# 그래프 출력 (Display plot)
plt.show()

함수 설명

  • scatter(x, y): x와 y 데이터를 사용하여 scattergram을 그림.

3.2 막대 그래프 (Bar Plot)

import matplotlib.pyplot as plt

# 데이터 준비
categories = ['A', 'B', 'C', 'D', 'E']
values = [5, 7, 3, 8, 4]

# 막대 그래프 생성 (Create bar plot)
plt.bar(categories, values)

# 그래프 제목 추가 (Add title)
plt.title('Simple Bar Plot')

# x축, y축 레이블 추가 (Add x and y axis labels)
plt.xlabel('Categories')
plt.ylabel('Values')

# 그래프 출력 (Display plot)
plt.show()

함수 설명

  • bar(categories, values): 카테고리와 값을 사용하여 막대 그래프를 그립니다.

4. 여러 그래프 그리기

하나의 figure에 여러 graph를 생성.

import matplotlib.pyplot as plt

# 데이터 준비
x = [1, 2, 3, 4, 5]
y1 = [1, 4, 9, 16, 25]
y2 = [1, 2, 3, 4, 5]

# Figure와 Subplot 생성 (Create figure and subplots)
plt.figure()

# 첫 번째 subplot
plt.subplot(2, 1, 1)  # (행, 열, 위치)
plt.plot(x, y1, 'r')  # 'r'은 red 색상을 의미
plt.title('First Plot')

# 두 번째 subplot
plt.subplot(2, 1, 2)
plt.plot(x, y2, 'b')  # 'b'는 blue 색상을 의미
plt.title('Second Plot')

# 레이아웃 조정 및 그래프 출력 (Adjust layout and display plot)
plt.tight_layout()
plt.show()

함수 설명

  • figure(): 새로운 figure 객체를 생성.
  • subplot(nrows, ncols, index): 여러 개의 subplot을 생성.
  • tight_layout(): subplot 간의 간격을 자동으로 조정.

5. 그래프 꾸미기

5.1 그래프에 범례 추가하기 (Add Legend)

import matplotlib.pyplot as plt

# 데이터 준비
x = [1, 2, 3, 4, 5]
y1 = [1, 4, 9, 16, 25]
y2 = [1, 2, 3, 4, 5]

# 그래프 생성 (Create plots)
plt.plot(x, y1, label='y = x^2')
plt.plot(x, y2, label='y = x')

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

# 그래프 제목 및 레이블 추가 (Add title and axis labels)
plt.title('Line Plot with Legend')
plt.xlabel('X-axis')
plt.ylabel('Y-axis')

# 그래프 출력 (Display plot)
plt.show()

함수 설명

  • legend(): 그래프에 legend를 추가.

5.2 그래프 스타일 변경하기 (Change Plot Style)

matplotlib는 다양한 스타일을 제공함.

예를 들어, 'ggplot' 스타일을 사용할 수 있음.

import matplotlib.pyplot as plt

# 스타일 설정 (Set style)
plt.style.use('ggplot')

# 데이터 준비
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]

# 그래프 생성 (Create plot)
plt.plot(x, y)

# 그래프 제목 및 레이블 추가 (Add title and axis labels)
plt.title('Styled Line Plot')
plt.xlabel('X-axis')
plt.ylabel('Y-axis')

# 그래프 출력 (Display plot)
plt.show()

함수 설명

  • style.use('style_name'): 그래프의 스타일을 'ggplot' 로 설정.

참고자료

공식 문서: Matplotlib Documentation

 

https://matplotlib.org/stable/contents.html

 

matplotlib.org

2024.03.04 - [Python/matplotlib] - [matplotlib] matplotlib란

 

[matplotlib] matplotlib란

Matplotlib은 Python에서 가장 널리 사용되는 Data Visualization Library임. matplotlib를 통해 chart(차트), image(이미지) 및, 다양한 visual representation of data이 가능함. pyplot 모듈을 통해 공학 계산 및 visualization으

ds31x.tistory.com

 


 

728x90