본문 바로가기
파이썬. 데이터분석/Matplotlib

fig, ax = plt.subplots : 여러 그래프 동시에 보여주기 1.(튜플형식)

by 한국수달보호협회장 2022. 7. 2.

 

 

https://velog.io/@lsmmay322/%ED%83%80%EC%9D%B4%ED%83%80%EB%8B%89-%EC%A0%9C%EB%8C%80%EB%A1%9C-%EB%B6%84%EC%84%9D%ED%95%B4%EB%B3%B4%EA%B8%B0

 

kaggle - 타이타닉 제대로 분석해보기

kaggle 노트북을 필사해보면서 공부하기로 마음먹고 바로 시작했다. Kaggle Korea의 이유한님께서 올려주신 Kaggle 커리큘럼을 보고 순차대로 진행해볼 예정이다.

velog.io

https://jimmy-ai.tistory.com/80

 

[Matplotlib] 파이썬 그래프 여러개 다중 플롯(subplot) 초간단 설정 방법

파이썬 plt 그림 여러개 간단하게 설정하기 : plt.subplots() 안녕하세요. 이번 포스팅에서는 파이썬 matplotlib 라이브러리에서 그래프 여러개를 한 화면에 동시에 나타내고, 각 그래프의 세부 사항들

jimmy-ai.tistory.com

그래프 2개 동시에 보여주는것

조금 허전하니까 살을 붙이면

 

 

 

 

fig, ax = plt.subplots(1, 2, figsize=(18, 8))
df[df.survived == '사망'].age.plot.hist(ax=ax[0], bins=20, edgecolor='black', color='red')
ax[0].set_title('Not Survived')
x1=list(range(0, 85, 5))
ax[0].set_xticks(x1)
df[df.survived=='생존'].age.plot.hist(ax=ax[1], bins=20, color='green', edgecolor='black')
ax[1].set_title('Survived')
ax[1].set_xticks(range(0, 85, 5))
plt.show()

 

 

 

 

 

 

fig, axs = plt.subplots(2, 2, figsize=(20,15))
fig.suptitle('여러 그래프 넣기', color='w', fontsize=25)

# 첫 번째 그래프
axs[0, 0].bar(df['이름'], df['국어'], label='국어점수')
axs[0, 0].set_title('첫 번째 그래프')
axs[0, 0].legend()
axs[0, 0].set(xlabel='이름', ylabel='점수')
axs[0, 0].xaxis.label.set_color('red')
axs[0, 0].tick_params(axis='x', colors='white', labelsize=15)

axs[0, 0].set_facecolor('lightyellow')
axs[0, 0].grid(linestyle='--', linewidth=0.5)

#두 번째 그래프
axs[0, 1].plot(df['이름'], df['수학'], label='수학')
axs[0, 1].plot(df['이름'], df['영어'], label='영어')
axs[0, 1].tick_params(axis='x', colors='yellow', labelsize=25)
axs[0, 1].legend()

#세 번째 그래프
axs[1, 0].barh(df['이름'], df['키'])

#네 번째 그래프
axs[1, 1].plot(df['이름'], df['사회'], color='green', alpha=0.5)

 

 

 

 

 


fig, ax1 = plt.subplots(figsize=(13, 6))
fig.suptitle('출생아 수 및 합계출산율', color='w')
ax1.set_ylabel('출생아 수 (천 명)')
ax1.set_ylim(250, 700)
ax1.set_yticks([300, 400, 500, 600])
ax1.bar(df.index, df['출생아 수'], color ='orange', label='출생아 수')

for idx, val in enumerate(df['출생아 수']):
    ax1.text(idx, val + 15, val, ha='center')


ax2 = ax1.twinx() # x축을 공유하는 쌍둥이 axis
ax2.set_ylabel('합계 출산율(가임여성 1명당 명)', rotation=0, fontsize=17)
ax2.yaxis.set_label_coords(1.1, 1.1)
ax2.set_ylim(0, 1.5)
ax2.set_yticks([0, 1])
ax2.plot(df.index, df['합계 출산율'], color = 'crimson', label='합계 출산율', marker='o', ms=10, lw=5, mec = 'w', mew='3')

for idx, val in enumerate(df['합계 출산율']):
    ax2.text(idx, val + 0.08, val, ha='center')
    
plt.legend()
plt.show()