import matplotlib.pyplot as plt
from matplotlib import rc
# 한글깨짐 해결, 마이너스 부호 깨짐 해결
rc("font", family="Malgun Gothic")
plt.rcParams['axes.unicode_minus'] = False
# 기본적으로 그래프를 그리게 하며 두 줄 같은 의미
# 현 개발환경에 내재되어 사실은 필요하지 않음
%matplotlib inline
get_ipython().run_line_magic("matplotlib", "inline")
간단한 선 그래프를 그리는 기본 코드를 확인하자.
# 가장 밑바탕이 되는 도화지 x축 10, y축 6 크기 설정
plt.figure(figsize=(10,6))
# x값, y값을 넣어 선 그래프 만듦
plt.plot([0,1,2,3,4,5,6,7,8,9], [0,1,2,3,2,5,6,-8,8,10])
# 위에 설정한 내용을 적용하고 보이도록 함
plt.show()
# np.arange(a, b, s): a부터 b까지 s의 간격으로 데이터 만들기
t = np.arange(0, 5, 0.5)
plt.figure(figsize=(10,6))
plt.plot(t, t, "r--") # 빨간색 일반점선
plt.plot(t, t ** 2, "bs") # 파란색 사각점선
plt.plot(t, t ** 3, "g>") # 초록색 삼각점선
plt.show()
# 그래프 값 설정
t = list(range(0,7))
y = [1, 4, 5, 8, 9, 5, 3]
plt.figure(figsize=(10,6))
plt.plot(
t, # x축
y, # y축
color="red", # 빨간색 선
linestyle="dashed", # "--" 와 같은 의미, 점선
marker="o", # 값 있는 지점에 원형 marker
markerfacecolor="blue", # 파란색 marker
markersize=10 # 사이즈 10의 marker
)
plt.xlim([-0.5, 6.5]) # x축 범위: -0.5 ~ 6.5
plt.ylim([-0.5, 10]) # y축 범위: -0.5 ~ 10
plt.show()
t = np.array(range(0,10))
y = np.array([9, 8, 7, 9, 8, 3, 2, 4, 3, 4])
plt.figure(figsize=(10,6))
# 직선그래프가 아닌 산점도를 그림
plt.scatter(t, y)
plt.show()
colormap = t # t: 0~9
plt.figure(figsize=(10,6))
plt.scatter(
t,
y,
s=150, # marker size
c=colormap, # t 값에 따른 marker color
marker="<" # marker 모양 바뀌고 크기 커짐
)
plt.colorbar() # t 값에 따라 달라지는 색 보여줌
plt.show()
t = np.arange(0, 12, 0.01)
plt.figure(figsize=(10,6))
plt.plot(t, np.sin(t), label="sin") # sin 그래프
plt.plot(t, np.cos(t), label="cos") # cos 그래프
plt.grid(True) # 그리드 표시
plt.title("Example of sinewave") # 그래프 제목
plt.xlabel("시간(time)") # x축 제목
plt.ylabel("진폭(Amplitude)") # y축 제목
plt.legend(loc=6) # 범례 좌측 중앙에 생성
plt.show()
# jupyter 실행 중 마지막 변수 값이 출력되는 경우가 있어 코드 끝에 ; 붙여줌
# data 내 모든 데이터를 직선 그래프로 나타내며 각 데이터마다 선 색이 다름
# 범례 추가되어 있음
data.plot();
# 해당 컬럼의 데이터의 막대(bar) 그래프 그려줌
data["column"].plot(kind="bar", figsize=(10,10));
# barh: horizon. 가로 막대 그래프
data["column"].plot(kind="barh", figsize=(10,10));
# title, gird 추가
data["column"].plot(
kind="barh",
grid=True,
figsize=(10,10)
);