1. Grid 이해하기
1.1 기본 Grid
- 그리드는 축과 평행한 선을 사용해 거리 또는 값의 정보를 보조하는 역활
- 색은 무채색으로 설정하는 것이 다른 정보를 가리지 않음
- 항상 Layer 순서상 맨 밑에 오도록 조정(zoder)
- 큰 격자 / 세부격자: 3가지 옵션 (which = [‘major’ , ‘minor’, ‘both’])
- X축? Y축? 동시에: 3가지 옵션! (axis = [‘x’ , ‘y’, ‘both’])
1.2 다양한 타입의 Grid
- 다양한 형태의 그리드
- 합을 표현 $x+y=c$
x_start = np.linspace(0, 2.2, 12, endpoint=True) for xs in x_start: ax.plot([xs, 0], [0, xs], linestyle='--', color='gray', alpha=0.5, linewidth=1)
- 비율을 표현 $y=cx$
radian = np.linspace(0, np.pi/2, 11, endpoint=True) for rad in radian: ax.plot([0,2], [0, 2*np.tan(rad)], linestyle='--', color='gray', alpha=0.5, linewidth=1)
- 곱을 표현 $xy=c$
- 특정 데이터 중심 $(x-x’)^2 + (y-y’)^2=c$
rs = np.linspace(0.1, 0.8, 8, endpoint=True) for r in rs: xx = r*np.cos(np.linspace(0, 2*np.pi, 100)) yy = r*np.sin(np.linspace(0, 2*np.pi, 100)) ax.plot(xx+x[2], yy+y[2], linestyle='--', color='gray', alpha=0.5, linewidth=1) ax.text(x[2]+r*np.cos(np.pi/4), y[2]-r*np.sin(np.pi/4), f'{r:.1}', color='gray')
- 합을 표현 $x+y=c$
- 색다른 그리드
- numpy + matplotlib으로 쉽게 구현 할수 있음
- 예시
2. 심플한 처리
2.1 선
- 상한선, 하한선
ax.axvline(0, color='red')
ax.axhline(0, color='green')
2.2 면
- 범위를 표현
ax.axvspan(0,0.5, color='red')
ax.axhspan(0,0.5, color='green')
2.3 축 옮기기
- ax.spines: 문서 찾아보기
set_visible
set_linewidth
set_position
ax.spines['left'].set_position('center')
ax.spines['bottom'].set_position('center')
3. Setting 바꾸기
3.1 기본 셋팅
# 기본 셋팅 바꾸기 1
mpl.rcParams['lines.linewidth'] = 2
mpl.rcParams['lines.linestyle'] = '--'
# 기본 셋팅 바꾸기 2
mpl.rc('lines', linewidth=4, linestyle='-.')
# 기본으로 돌아가기
plt.rcParams.update(plt.rcParamsDefault)
3.2 테마
- fivethirtyeight, ggplot을 많이 사용!
- 강사님은… 기본에서 약간 수정
mpl.style.use("테마 이름")