본문 바로가기

카테고리 없음

[패스트캠퍼스 수강 후기] 데이터분석 인강 100% 환급 챌린지 16회차 미션

04. ch01. matplotlib - 04. 다중그래프 - fig, axes, subplots - 05. ch01. matplotlib - 05. 기본그래프 스타일링



04. ch01. matplotlib - 04. 다중그래프 - fig, axes, subplots



plt.subplots(행의 갯수, 열의 갯수)

1-3. 여러개의 plot을 그리는 방법 (subplot)

subplot(row, column, index)



data = np.arange(100, 201)
plt.subplot(2, 1, 1)
plt.plot(data)


data2 = np.arange(200, 301)
plt.subplot(2, 1, 2)
plt.plot(data2)


plt.show()


data = np.arange(100, 201)
# 콤마를 생략하고 row, column, index로 작성가능
# 211 -> row: 2, col: 1, index: 1
plt.subplot(211)
plt.plot(data)


data2 = np.arange(200, 301)
plt.subplot(212)
plt.plot(data2)


plt.show()


3개일 때

data = np.arange(100, 201)
plt.subplot(1, 3, 1)
plt.plot(data)


data2 = np.arange(200, 301)
plt.subplot(1, 3, 2)
plt.plot(data2)


data3 = np.arange(300, 401)
plt.subplot(1, 3, 3)
plt.plot(data)


plt.show()


1-4. 여러개의 plot을 그리는 방법 (subplots) - s가 더 붙습니다.

plt.subplots(행의 갯수, 열의 갯수)




data = np.arange(1, 51)


# 밑 그림
fig, axes = plt.subplots(2, 3)

axes[0, 0].plot(data)
axes[0, 1].plot(data * data)
axes[0, 2].plot(data ** 3)
axes[1, 0].plot(data % 10)
axes[1, 1].plot(-data)
axes[1, 2].plot(data // 20)

plt.tight_layout()
plt.show()



05. ch01. matplotlib - 05. 기본그래프 스타일링

2. 주요 스타일 옵션


from IPython.display import Image

# 출처: matplotlib.org
Image('https://matplotlib.org/_images/anatomy.png')

2-1. 타이틀

plt.plot([1, 2, 3], [3, 6, 9])
plt.plot([1, 2, 3], [2, 4, 9])
# 타이틀 & font 설정
plt.title('이것은 타이틀 입니다')


plt.show()




plt.plot([1, 2, 3], [3, 6, 9])
plt.plot([1, 2, 3], [2, 4, 9])
# 타이틀 & font 설정
plt.title('이것은 타이틀 입니다', fontsize=20)


plt.show()


2-2. X, Y축 Label 설정

plt.plot([1, 2, 3], [3, 6, 9])
plt.plot([1, 2, 3], [2, 4, 9])

# 타이틀 & font 설정
plt.title('Label 설정 예제입니다', fontsize=20)

# X축 & Y축 Label 설정
plt.xlabel('X축', fontsize=20)
plt.ylabel('Y축', fontsize=20)


plt.show()



2-3. X, Y 축 Tick 설정 (rotation)


Tick은 X, Y축에 위치한 눈금

plt.plot(np.arange(10), np.arange(10)*2)
plt.plot(np.arange(10), np.arange(10)**2)
plt.plot(np.arange(10), np.log(np.arange(10)))

# 타이틀 & font 설정
plt.title('X, Y 틱을 조정합니다', fontsize=20)

# X축 & Y축 Label 설정
plt.xlabel('X축', fontsize=20)
plt.ylabel('Y축', fontsize=20)

# X tick, Y tick 설정
plt.xticks(rotation=90)
plt.yticks(rotation=30)

plt.show()

2-4. 범례(Legend) 설정


plt.plot(np.arange(10), np.arange(10)*2)
plt.plot(np.arange(10), np.arange(10)**2)
plt.plot(np.arange(10), np.log(np.arange(10)))

# 타이틀 & font 설정
plt.title('범례 설정 예제입니다', fontsize=20)

# X축 & Y축 Label 설정
plt.xlabel('X축', fontsize=20)
plt.ylabel('Y축', fontsize=20)

# X tick, Y tick 설정
plt.xticks(rotation=90)
plt.yticks(rotation=30)

# legend 설정
plt.legend(['10 * 2', '10 ** 2', 'log'], fontsize=15)


plt.show()


2-5. X와 Y의 한계점(Limit) 설정

xlim(), ylim()

plt.plot(np.arange(10), np.arange(10)*2)
plt.plot(np.arange(10), np.arange(10)**2)
plt.plot(np.arange(10), np.log(np.arange(10)))

# 타이틀 & font 설정
plt.title('이것은 타이틀 입니다', fontsize=20)

# X축 & Y축 Label 설정
plt.xlabel('X축', fontsize=20)
plt.ylabel('Y축', fontsize=20)

# X tick, Y tick 설정
plt.xticks(rotation=90)
plt.yticks(rotation=30)

# legend 설정
plt.legend(['10 * 2', '10 ** 2', 'log'], fontsize=15)

# x, y limit 설정
plt.xlim(0, 5)
plt.ylim(0.5, 10)


plt.show()


2-6. 스타일 세부 설정 - 마커, 라인, 컬러

marker의 종류

'.' point marker
',' pixel marker
'o' circle marker
'v' triangle_down marker
'^' triangle_up marker
'<' triangle_left marker
'>' triangle_right marker
'1' tri_down marker
'2' tri_up marker
'3' tri_left marker
'4' tri_right marker
's ' square marker
'p' pentagon marker
'*' star marker
'h' hexagon1 marker
'H' hexagon2 marker
'+' plus marker
'x' x marker
'D' diamond marker
'd' thin_diamond marker
'|' vline marker
'_' hline marker


plt.plot(np.arange(10), np.arange(10)*2, marker='o', markersize=5)


# 타이틀 & font 설정
plt.title('마커 설정 예제', fontsize=20)

# X축 & Y축 Label 설정
plt.xlabel('X축', fontsize=20)
plt.ylabel('Y축', fontsize=20)

# X tick, Y tick 설정
plt.xticks(rotation=90)
plt.yticks(rotation=30)

plt.show()


line의 종류

'-' solid line style
'--' dashed line style
'-.' dash-dot line style
':' dotted line style


plt.plot(np.arange(10), np.arange(10)*2, marker='o', linestyle=' ')
plt.plot(np.arange(10), np.arange(10)*2 - 10, marker='v', linestyle='-')
plt.plot(np.arange(10), np.arange(10)*2 - 20, marker='+', linestyle='--')
plt.plot(np.arange(10), np.arange(10)*2 - 30, marker='*', linestyle='-.')
plt.plot(np.arange(10), np.arange(10)*2 - 40, marker='*', linestyle=':')

# 타이틀 & font 설정
plt.title('다양한 선의 종류 예제', fontsize=20)

# X축 & Y축 Label 설정
plt.xlabel('X축', fontsize=20)
plt.ylabel('Y축', fontsize=20)

# X tick, Y tick 설정
plt.xticks(rotation=90)
plt.yticks(rotation=30)

plt.show()


color의 종류

'b' blue
'g' green
'r' red
'c' cyan
'm' magenta
'y' yellow
'k' black
'w' white

plt.plot(np.arange(10), np.arange(10)*2 - 10, marker='v', linestyle='-', color='b')
plt.plot(np.arange(10), np.arange(10)*2 - 20, marker='+', linestyle='--', color='c')
plt.plot(np.arange(10), np.arange(10)*2 - 30, marker='*', linestyle='-.', color='y')
plt.plot(np.arange(10), np.arange(10)*2 - 40, marker='*', linestyle=':', color='r')


# 타이틀 & font 설정
plt.title('색상 설정 예제', fontsize=20)

# X축 & Y축 Label 설정
plt.xlabel('X축', fontsize=20)
plt.ylabel('Y축', fontsize=20)

# X tick, Y tick 설정
plt.xticks(rotation=90)
plt.yticks(rotation=30)

plt.show()

투명도 설정

plt.plot(np.arange(10), np.arange(10)*2 - 10, color='b', alpha=0.1)
plt.plot(np.arange(10), np.arange(10)*2 - 20, color='b', alpha=0.3)
plt.plot(np.arange(10), np.arange(10)*2 - 30, color='b', alpha=0.6)
plt.plot(np.arange(10), np.arange(10)*2 - 40, color='b', alpha=1.0)


# 타이틀 & font 설정
plt.title('투명도 (alpha) 설정 예제', fontsize=20)

# X축 & Y축 Label 설정
plt.xlabel('X축', fontsize=20)
plt.ylabel('Y축', fontsize=20)

# X tick, Y tick 설정
plt.xticks(rotation=90)
plt.yticks(rotation=30)

plt.show()


2-7. 그리드 설정


plt.grid()

 

 


패스트캠퍼스 데이터분석 강의 링크
bit.ly/3imy2uN