반응형
matplotlib의 기초
주피터에서 matplotlib을 사용할 때 기본적으로 아래 코드를 적고 시작하는게 좋음
%matplotlib inline
각종 import
%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
간단한 그래프 그리기
linspace() 함수로 x좌표의 데이터를 배열로 생성, 이것을 곱해서 y 좌표로 함
그리고 plt의 plot()함수로 x, y좌표의 데이터를 플롯하고 show() 함수로 그래프 표시
*플롯(plot): 구성
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-5, 5)
y = x * x * x
plt.plot(x, y)
plt.show()
그래프 꾸미기
→ 외관을 꾸며야 보기 좋아짐
축의 라벨(축 이름) plt.xlabel(), plt.ylabel()
그래프의 타이틀(그래프 제목) | plt.title() |
그리드(격자) 표시 | plt.grid() |
import numpy as np
import matplotlib.pyplot as plt
from matplotlib import rc
# Mac에서 Matplotlib 한글 깨질 때 아래 두 줄 사용!
rc('font', family='AppleGothic')
plt.rcParams['axes.unicode_minus'] = False
x = np.linspace(-5, 5)
y_1 = 2 * x
y_2 = 3 * x
# 축의 라벨
plt.xlabel("x축", size=14)# 축 라벨의 문자 크기를 14로 지정
plt.ylabel("y축", size=14)
# 그래프의 타이틀
plt.title("그래프의 제목")
# 그리드 표시 - 격자 무늬 말하는 거임
plt.grid()
# 플롯 시에 범례와 선의 스타일을 지정
plt.plot(x, y_1, label='y1')
plt.plot(x, y_2, label='y2')
plt.legend() # 범례 표시 - 좌측 상단에 있는 작은 네모 박스
plt.show()
산점도: scatter()
import numpy as np
import matplotlib.pyplot as plt
x = np.array([1.2, 2.4, 0.0, 1.4, 1.5, 0.3, 0.7]) # x좌표
y = np.array([2.4, 1.4, 1.0, 0.1, 1.7, 2.0, 0.6]) # y좌표
plt.scatter(x, y) # 산포도의 플롯
plt.grid()
plt.show()
히스토그램: hist()
import numpy as np
import matplotlib.pyplot as plt
data = np.array([0, 1, 1, 2, 2, 2, 3, 3, 4, 5, 6, 6, 7, 7, 7, 8, 8, 9])
plt.hist(data, bins=10) # 히스토그램 bins는 기둥의 수
plt.show()
Practice
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-5, 5) # x의 범위를 지정
y_1 = x*x # x에 연산을 시행하는 y_1로 한다
y_2 = x*x*x # x에 연산을 시행하는 y_2로 한다
# 축의 라벨
plt.xlabel("x value", size=14)
plt.ylabel("y value", size=14)
# 그래프의 타이틀
plt.title("Matplotlib Exercise")
# 그리드 표시
plt.grid()
# 플롯 범례와 선의 스타일을 지정
plt.plot(x, y_1, label="y1")
plt.plot(x, y_2, label="y2", linestyle="dashed")
plt.legend() # 범례를 표시
plt.show()
'AI & BigData' 카테고리의 다른 글
[AI] 인공신경망(Artificial Neural Network) - 퍼셉트론(Perceptron) (0) | 2023.04.29 |
---|---|
[BigData] 빅데이터의 5가지 특성 - 5V (0) | 2023.04.28 |
[AI] 1. Introduction to deep learning (0) | 2023.04.28 |
[Data Analysis] Mathematical Functions of NumPy (0) | 2023.04.28 |
[Data Analysis] NumPy의 기초 (0) | 2023.04.28 |