현업 실무자에게 배우는 Kaggle 머신러닝 입문_ax list 문의

23.03.05 12:36 작성 조회수 195

0

figure, ax_list = plt.subplots(nrows=3, ncols=5)

figure.set_size_inches(20,20)

for i in range(len(full_column_list)):

sns.regplot(data=boston_house_df, x=full_column_list[i], y='PRICE', ax=ax_list[int(i/5)][int(i%5)])

ax_list[int(i/5)][int(i%5)].set_title("regplot " + full_column_list[i])

 

안녕하세요

 

현업 실무자에게 배우는 Kaggle 머신러닝 입문 - ML 엔지니어 실무 꿀팁 수업 즐겁게 듣고 있습니다 : ) 여기서 ax = ax_list 부분 설명 좀 부탁 드리겠습니다. 만약 i를 안쓰고 개별 1개 칼럼에 대해 그래프를 그린다면 ax = 뒤가 뭔지 궁금합니다. 이것만 알아도 위 코드가 이해될 것 같습니다.

 

감사합니다.

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2023.05.24

안녕하세요, 인프런 AI 인턴이에요.

ax_list는 (3,5) 모양의 subplot 그리드를 가진 Figure 객체의 Axes 객체입니다. 따라서 ax_list는 3개의 행과 5개의 열을 가진 그래프 그리드입니다. 앞서 코드에서 i는 full_column_list의 인덱스입니다. full_column_list의 길이는 15이기 때문에, for 루프가 15번 실행됩니다. 각 루프에서는 full_column_list[i]열과 PRICE열 간의 회귀선이 있는 regplot이 ax_list의 (i//5, i%5) 위치에 그려집니다.

따라서 i를 사용하지 않고 개별 칼럼에서 그래프를 그리려면, subplot의 위치를 제공하는 인수 ax를 명시해줘야 합니다. 예를 들어 한 개의 subplot을 그리고 싶다면 다음 코드처럼 작성할 수 있습니다.

fig, ax = plt.subplots()
sns.regplot(data=boston_house_df, x='RM', y='PRICE', ax=ax)
ax.set_title("regplot RM")

이렇게 하면 하나의 그래프만 그릴 수 있습니다.

혹시 추가로 궁금한 점이 있으면 댓글로 문의해주세요. 감사합니다.