Matplotlib란?
Matplotlib은 파이썬에서 데이터 시각화를 위해 사용되는 라이브러리 중 하나입니다. 2D 그래프를 그리는 데 특화되어 있으며, 선 그래프, 산점도, 히스토그램 등 다양한 종류의 그래프를 그릴 수 있습니다. Matplotlib은 NumPy와 함께 사용되는 것이 일반적이며, 대화형 시각화 라이브러리인 Bokeh, Plotly와 함께 많이 사용됩니다.
Matplotlib 설치하기
Matplotlib은 pip를 이용하여 간단하게 설치할 수 있습니다.
pip install matplotlib
Matplotlib 기본 그래프 그리기
Matplotlib을 이용하여 기본적인 그래프를 그리는 방법을 알아보겠습니다. 아래는 선 그래프를 그리는 간단한 예시입니다.
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]
plt.plot(x, y)
plt.show()
위 코드에서 plt.plot(x, y) 함수는 x와 y값을 입력받아 선 그래프를 그리는 함수입니다. plt.show() 함수는 그래프를 화면에 출력하는 함수입니다.
plt.plot()
plt.plot() 함수는 데이터를 이용하여 그래프를 그리는 함수입니다. 함수의 첫 번째 인수는 x축에 해당하는 데이터, 두 번째 인수는 y축에 해당하는 데이터입니다.
Matplotlib 그래프 스타일 설정하기
Matplotlib에서는 그래프의 스타일을 설정하여 그래프를 더욱 깔끔하게 만들 수 있습니다.
여기서 인수로 사용될 수 있는 다양한 파라미터가 있습니다. 위 예제 코드에서는 다음과 같은 파라미터를 사용했습니다.
- color: 그래프의 색상을 설정합니다. 'r', 'g', 'b'와 같은 약어 또는 'red', 'green', 'blue'와 같은 전체 색상 이름, '#FF0000'와 같은 RGB 값을 지정할 수 있습니다.
- linestyle: 그래프의 선 스타일을 설정합니다. 'solid', 'dashed', 'dashdot', 'dotted' 등의 값을 사용할 수 있습니다.
- linewidth: 그래프의 선 두께를 설정합니다. 기본값은 1입니다.
- marker: 그래프의 마커 스타일을 설정합니다. 'o', '^', 's', 'd' 등의 값을 사용할 수 있습니다.
- markerfacecolor: 마커의 색상을 설정합니다.
- markersize: 마커의 크기를 설정합니다.
이 외에도 그래프의 제목, 축 레이블, 축 범위, 축 눈금 등을 설정할 수 있습니다.
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]
plt.plot(x, y, color='green', linestyle='dashed', linewidth=2, marker='o', markerfacecolor='blue', markersize=8)
plt.show()
먼저, linestyle 파라미터에 'dashed'를 지정하여 점선 스타일의 선을 그리도록 설정했습니다.
다음으로, linewidth 파라미터에 2를 지정하여 그래프 선의 두께를 2로 설정했습니다.
그 다음, marker 파라미터에 'o'를 지정하여 데이터 포인트에 원형 마커를 그리도록 설정했습니다. markerfacecolor 파라미터에 'blue'를 지정하여 마커의 색상을 파란색으로 설정했습니다. markersize 파라미터에 8을 지정하여 마커의 크기를 8로 설정했습니다.
이렇게 설정된 파라미터들을 이용하여 그래프를 그리면, x축에는 x 변수의 값, y축에는 y 변수의 값에 따라 그래프가 그려집니다. 그래프는 초록색으로 설정된 점선으로 그려지고, 데이터 포인트는 파란색 원형 마커로 표시됩니다. 이 때, 마커의 크기는 8로 설정되었습니다.
커스텀 스타일 사용
Matplotlib에서는 직접 스타일을 설정할 수 있습니다. 이를 통해 자신만의 그래프 스타일을 만들어 사용할 수 있습니다.
# 커스텀 스타일 생성
my_style = {
'figure.figsize': (10, 6),
'axes.grid': True,
'axes.facecolor': '#f2f2f2',
'lines.linewidth': 2,
'font.size': 14,
}
# 스타일 지정
plt.style.use(my_style)
# 그래프 그리기
plt.plot([1, 2, 3], [4, 5, 6])
# 그래프 출력
plt.show()
위 코드에서는 my_style이라는 이름으로 커스텀 스타일을 생성하고, 이를 plt.style.use() 함수를 이용하여 지정했습니다. my_style 변수에 저장된 딕셔너리에서는 다양한 스타일 요소들을 설정할 수 있습니다. 예를 들어, figure.figsize은 그래프의 크기를, axes.grid는 그래프 내부에 그리드를 표시할옵션입니다. 이 옵션을 True로 설정하면, 그래프 내부에 가로축과 세로축에 걸쳐 균등하게 그리드 라인이 나타납니다. 이는 데이터의 분포나 추세를 더욱 쉽게 파악할 수 있도록 도와주는 시각적인 요소입니다.
예를 들어, 다음과 같은 코드로 그래프 내부에 그리드를 표시할 수 있습니다.
# 데이터 생성
x = np.linspace(0, 10, 100)
y = np.sin(x)
# 그래프 그리기
plt.plot(x, y)
plt.grid(True)
# 그래프 보여주기
plt.show()
위 그래프에서 가로축과 세로축에 걸쳐 균등하게 그리드 라인이 나타납니다. 이를 통해 데이터의 분포와 추세를 더욱 쉽게 파악할 수 있습니다.
axes.grid 옵션은 True 또는 False로 설정할 수 있습니다. True로 설정하면 그래프 내부에 그리드 라인이 나타나며, False로 설정하면 그리드 라인이 나타나지 않습니다.
그리드 라인의 색상과 선 스타일을 변경하려면 grid 함수에 다음과 같은 인자를 지정할 수 있습니다.
- color: 그리드 라인의 색상을 지정합니다.
- linestyle: 그리드 라인의 선 스타일을 지정합니다.
- linewidth: 그리드 라인의 두께를 지정합니다.
- alpha: 그리드 라인의 투명도를 지정합니다.
# 데이터 생성
x = np.linspace(0, 10, 100)
y = np.sin(x)
# 그래프 그리기
fig, ax = plt.subplots()
ax.plot(x, y)
# 그리드 설정하기
ax.grid(True, linestyle='--', linewidth=0.5, color='r', alpha=0.3)
# 그래프 보여주기
plt.show()
위 그래프에서 가로축과 세로축에 걸쳐 균등하게 빨간색 점선 그리드 라인이 나타납니다. 그리드 라인의 선 스타일, 두께, 색상, 투명도 등을 변경하여 다양한 그래프 스타일을 구현할 수 있습니다.
'pandas' 카테고리의 다른 글
복수열 조건문을 활용한 데이터프레임 필터링과 선택 (0) | 2023.03.27 |
---|---|
람다(lambda) 함수와 함께하는 판다스(Pandas) apply() 메소드 활용법 (0) | 2023.03.27 |
Seaborn을 활용한 데이터 시각화 - 깔끔하고 유용한 시각화 기법들 (0) | 2023.03.24 |
다양한 그래프 유형으로 살펴보는 데이터 시각화! (0) | 2023.03.23 |
내림차순, 오름차순, 다중조건까지! 판다스로 데이터 정렬하기 (0) | 2023.03.23 |
댓글