x축, y축 따로 격자를 그릴 수 있음
항상 맨 밑에 오도록 조정 (zorder)
theme
which
ax.set_xticks(xticks의 구간을 나누는 array, **minor = True)**
ax.grid( ~ , which = ‘minor’)
axis : grid의 방향 (x, y, both 방향)
linestyle : 선 형태 (점선, 실선, …)
linewidth : grid line 두께
zorder : 위치 (scatter와 겹치지 않기 위해 뒤로 배치)
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)
grid()
함수를 사용하는 것이 아닌, 그래프의 점선, 두께, 투명도 등을 조정해 생성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)
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')
ax.axvline(0, color='red')
ax.axhline(0, color='green')
ax.axvline(0, ymin=0.3, ymax=0.7, color='red')
ax.axvline(math_mean, color='gray', linestyle='--')
ax.axhline(reading_mean, color='gray', linestyle='--')
ax.scatter(x=student['math score'], y=student['reading score'],
alpha=0.5,
color=['royalblue' if m>math_mean and r>reading_mean else 'gray' for m, r in zip(student['math score'], student['reading score'])],
zorder=10,
)
ax.axvspan(0,0.5, color='red')
ax.axhspan(0,0.5, color='green')
ax.axvspan(0, ymin=0.3, ymax=0.7, color='red')
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)
ax.spines['left'].set_linewidth(1.5)
ax.spines['bottom'].set_linewidth(1.5)
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)
ax.spines['left'].set_position('center')
ax.spines['bottom'].set_position('center')
ax.spines[’left’].set_position((’data’, 0.3))
(‘data’, 0.3)
특정 데이터 0.3의 위치로 left spine 옮김ax.spines[’left’].set_position((’axes’, 0.2))
(’axes’, 0.2)
축 기준 0.2의 위치에 bottom tick 옮김plt.rcParams['lines.linewidth'] = 2
plt.rcParams['lines.linestyle'] = ':'
rcParams
를 이용해 기본 setting을 바꿔 plot의 default를 바꿀 수 있음mpl.rc(’lines’, linewidth=2, linestyle=’:’)
plc.rcParams.update(plt.rcParamsDefault)
를 이용해 default parameter로 돌려놓을 수 있음mpl.style.use(’ggplot’)
mpl.style.available
을 이용해 이용 가능한 테마들을 볼 수 있음with plt.style.context('fivethirtyeight'):
plt.plot(np.sin(np.linspace(0, 2 * np.pi)))
plt.show()
※ 모든 이미지 및 코드 출처는 네이버 커넥트재단 부스트캠프 AI Tech 5기입니다. ※