Axes customizing
1. Axes Layout Adjustment
1) title, xlabel, ylabel 설정
fig, ax = plt.subplots(figsize=(7, 7))
ax.set_title('Title', fontsize=20)
ax.set_xlabel('X', fontsize=15)
ax.set_ylabel('Y', fontsize=15)
다음 그림에서 왼쪽 그림과 같이 축 표시가 서로 겹치게 되면 굉장히 보기 안좋아진다. 이를 오른쪽으로 바꾸는 방법은 굉장히 간단하다.
2) 축 간격 잡아주기
fig.tight_layout()
3) 확장하기
2. Axis
1) 눈금 간격 없애기
우리가 넣는 그림이 이미지인 경우, ax들의 눈금 간격을 없애주는게 깔끔하다
2) 눈금 범위 정하기
ax.set_xlim([-10, 10])
ax.set_ylim([-10, 10])
3) 눈금 스케일 정하기
ax.set_yscale('logit')
ax.set_yscale('log')
4) Axis sharing
# 일괄적으로 Axis share하려는 경우
fig, axes = plt.subplots(2, 2, figsize=(7, 7), sharex=True, sharey=True)
# 좀 더 자유로운 방법으로 Axis share하고 싶을 때
fig = plt.figure(figsize=(7, 7))
ax1 = fig.add_subplot(211)
ax2 = fig.add_subplot(212, sharex=ax1)
5) Different Y values
두 그림을 하나의 ax에 그리고 싶은데 scale 차이가 큰 경우 twinx()를 쓰면 좋다. 그럼에도 두 개의 ax 객체가 존재하는 것이기 때문에, 눈금 범위, 레이블 다르게 할 수 있다.
fig = plt.figure(figsize=(10, 7))
ax1 = fig.add_subplot()
ax1.plot(t, np.sin(t))
ax2 = ax1.twinx()
ax2.plot(t, np.exp(t))