일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- Regression
- 회귀
- 파이썬
- 인공지능
- 자연어처리
- 플러터
- CV
- 유데미
- 지정헌혈
- RNN
- filtering
- Computer Vision
- 코딩애플
- 모델
- Flutter
- AI
- 선형회귀
- 딥러닝
- 42서울
- 데이터분석
- 머신러닝
- 크롤러
- 42경산
- 피플
- 선형대수학
- 앱개발
- map
- mnist
- 크롤링
- pytorch
Archives
- Today
- Total
David의 개발 이야기!
Matplotlib 에 대해 알아보자! 본문
반응형
0. Matplotlib 란?
- 다양한 데이터를 시각화할 수 있도록 도와주는 라이브러리
- 간단한 데이터 분석에서부터 인공지능 모델의 시각화까지 지원.
1. 간단한 직선 그래프 그리기
import matplotlib.pyplot as plt
x = [1, 2, 3]
y = [1, 2, 3]
plt.plot(x, y)
plt.title("My Plot")
plt.xlabel("X")
plt.ylabel("Y")
plt.show()
2. 그래프 저장하기 - savefig()
import matplotlib.pyplot as plt
x = [1, 2, 3]
y = [1, 2, 3]
plt.plot(x, y)
plt.title("My Plot")
plt.xlabel("X")
plt.ylabel("Y")
plt.savefig('picture.png')
* 두개의 그래프를 저장하고 싶을때
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, np.pi * 10, 500) # PI * 10 너비에, 500개의 점을 균일하게 찍기
fig, axes = plt.subplots(2, 1) # 2개의 그래프가 들어가는 Figure 생성
axes[0].plot(x, np.sin(x)) # 첫 번째 그래프는 사인(Sin) 그래프
axes[1].plot(x, np.cos(x)) # 두 번째 그래프는 코사인(Cos) 그래프
fig.savefig("sin&cos.png")
3. 선그래프 그리기 1 - linestyle, marker 조정
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(-9, 10)
y = x ** 2
# 라인 스타일로는 '-', ':', '-.', '--' 등이 사용될 수 있습니다.
plt.plot(x, y, linestyle=":", marker="*")
# X축 및 Y축에서 특정 범위를 자를 수도 있습니다.
plt.show()
3. 선그래프 그리기 2 - 여러개 그래프 한곳에 겹쳐서 그리기
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(-9, 10)
y1 = x ** 2
y2 = -x
plt.plot(x, y1, linestyle="-.", marker="*", color="red", label="y = x * x")
plt.plot(x, y2, linestyle=":", marker="o", color="blue", label="y = -x")
plt.xlabel("X")
plt.ylabel("Y")
plt.legend(
shadow=True,
borderpad=1
)
plt.show()
3. 선그래프 그리기 3 - markersize / markerfacecolor / markeredgecolor
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(-9, 10)
y1 = x ** 2
plt.plot(
x, y1,
linestyle=":",
marker="o",
markersize=8,
markerfacecolor="blue",
markeredgecolor="red"
)
plt.show()
4. 막대그래프 그리기
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(-9, 10)
plt.bar(x, x ** 2)
plt.show()
5. 누적막대그래프 그리기
import matplotlib.pyplot as plt
import numpy as np
x = np.random.rand(10) # 아래 막대
y = np.random.rand(10) # 중간 막대
z = np.random.rand(10) # 위 막대
data = [x, y, z]
x_array = np.arange(10)
for i in range(0, 3): # 누적 막대의 종류가 3개
plt.bar(
x_array, # 0부터 10까지의 X 위치에서
data[i], # 각 높이(10개)만큼 쌓음
bottom=np.sum(data[:i], axis=0)
)
plt.show()
- x_array = np.arange(10): 0부터 9까지의 정수를 가지는 배열 x_array를 생성합니다. 이는 NumPy의 arange() 함수를 사용하여 생성합니다.
- for i in range(0, 3):: 0부터 2까지 반복하는 for 루프를 실행합니다. 이는 누적 막대 그래프의 종류가 3개이기 때문입니다.
- plt.bar(x_array, data[i], bottom=np.sum(data[:i], axis=0)): bar() 함수를 사용하여 막대 그래프를 그립니다. x_array는 막대의 X 위치를 나타내고, data[i]는 해당 높이 값을 나타냅니다. bottom 매개변수는 이전 막대의 높이를 누적하여 현재 막대의 밑바닥 위치를 설정합니다. 따라서 np.sum(data[:i], axis=0)는 이전 막대들의 높이를 누적한 값을 나타냅니다.
6. Scatter 그래프 그리기
import matplotlib.pyplot as plt
import numpy as np
x = np.random.rand(10)
y = np.random.rand(10)
colors = np.random.randint(0, 100, 10)
sizes = np.pi * 1000 * np.random.rand(10)
plt.scatter(x, y, c=colors, s=sizes, alpha=0.7)
plt.show()
반응형
'인공지능공부' 카테고리의 다른 글
Linear Regression 밑바닥부터 구현하기2 ( bias 포함 ) (0) | 2023.07.23 |
---|---|
Linear Regression 바닥부터 구현하기 ( bias 없을때 ) (0) | 2023.07.14 |
Pandas 에 대해 알아보자 feat. Series, DataFrame (0) | 2023.07.07 |
OpenCV 에 대해 알아보자 (0) | 2023.07.07 |
Numpy 에 대해 알아보자 (0) | 2023.07.05 |
Comments