데이터분석/Matplotlib &Seaborn

seaborn과 matplotlib 그래프 같이 그리기

ADELA_J 2023. 7. 6. 12:38

seaborn 과 matplotlib의 그래프 알아보기:

seaborn의 그래프 그리는 방법 

1. https://dev-adela.tistory.com/97

2. https://dev-adela.tistory.com/98

matplotlib의 그래프 그리는 방법

https://dev-adela.tistory.com/96

추가 : https://dev-adela.tistory.com/119

 

<그래서 seaborn 과 matplolib 그래프를 함께 그리는방법...☆ >

 

▶ 먼저 이렇게 그리면 된다. subplots(행 숫자, 열 숫자), 열*행 = 그래프 개수 맞춰서 그려주면됨!

3*3 인데 그래프 그려준건 4개밖에 없으니 2개는 빈칸으로 나올것이다.
코드에는 3*3이지만,,, 그래프 원래 그린건 2*2였음..^^

▶ 몇 번이고 강조하지만 figure는, subplots은 도화지! 그래서 이렇게 적어주면 하얀 도화지 열 2개 행 2개 해서 나온다.

▷ 그래서 ax = ax 처럼 빈 도화지 ax 에 boxplot이라는 새로운 ax를 덮어쓰여주는 것이다. 

위에서 subplots를 만들때 2*2 = 총 4개를 만들었으면 4개의 도화지가 있기 때문에 인덱스 등의 방법으로 해당 그래프가 어디에 배치될지 'ax=위치' 를 잡아주어야 한다.


 

>> 요것을 fig,((ax1, ax2), (ax3,ax4))=plt.subplots(2,2,shareX=True) 로 바꿔보자

너무 붙어서 나와서 subplots_adjust도 추가해봄..!

▶ 이렇게 그래프 위치는 ax[0][0] 처럼 인덱스 값으로 지정할 수도 있고 figure를 그려줄때 튜플 형태로 변수를 미리 지정해줘서 그 그래프로 위치 값을 지정해줄 수 있다. 

 

sharex 하면 x값이 공유된다 (x값이 같을때) , sharey도 True하면 y값도 공유된다(값이 같을때)

 

하나밖에 없기 때문에 fig, _ 로 사용도 가능. 왜냐면 굳이 자리를 지정안해줘도 되기 때문에.

 ▷ Figure 가 2개 그려져서 2개가 나옴. 

 ▼ 만약 Figure를 한개로 묶어서 그려본다면, 아래와 같다

▷ 만약 1개의 Figure에 그린다면 맨 밑에꺼 길게 만들수 없나,,,ㅎ,, 찾아보ㅏ야지
 >> 라기에는 subplots은 n X m 형태의 array 형태로 생성되기 때문에 사이즈가 다른 서브플롯을 한 번에 생성하는 것은 어렵다.!

하지만 여기 봐보자

https://matplotlib.org/stable/tutorials/intermediate/tight_layout_guide.html#sphx-glr-tutorials-intermediate-tight-layout-guide-py