matplotlib 혹은 seaborn으로 두개의 그래프 (ax:캔버스)를 하나의 fig(액자)에 넣을 수 있다
import matplotlib.pyplot as plt
import pandas as pd
s1 = pd.Series([1, 2, 3, 4])
s2 = pd.Series([5, 4, 3, 2])
fig, ax = plt.subplots(1, 2, figsize=(6, 3), constrained_layout=True)
s1.plot(ax=ax[0])
s2.plot(ax=ax[1])
plt.show()
이 때 그래프 전체에 제목을 달고 싶다면 fig에 제목을 달면 된다. subtitle 함수로 fig에 제목을 달아보자
import matplotlib.pyplot as plt
import pandas as pd
s1 = pd.Series([1, 2, 3, 4])
s2 = pd.Series([5, 4, 3, 2])
fig, ax = plt.subplots(1, 2, figsize=(6, 3), constrained_layout=True)
s1.plot(ax=ax[0])
s2.plot(ax=ax[1])
fig.subtitle('set title of fig', fontsize=15, fontweight='bold') # 추가한 코드
plt.show()
AttributeError: 'Figure' object has no attribute 'subtitle'
결과는 위와 같은 에러가 난다. fig에 제목을 달아주는 함수는 suptitle인데 많이들 착각해서 벌어지는 에러이다
https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.suptitle.html
아래와 같이 suptitle 함수를 사용하자
import matplotlib.pyplot as plt
import pandas as pd
s1 = pd.Series([1, 2, 3, 4])
s2 = pd.Series([5, 4, 3, 2])
fig, ax = plt.subplots(1, 2, figsize=(6, 3), constrained_layout=True)
s1.plot(ax=ax[0])
s2.plot(ax=ax[1])
fig.suptitle('set title of fig', fontsize=15, fontweight='bold') # suptitle을 사용하자
plt.show()
문제없이 제목이 생겼다
유튜브에서 판다스 강의 중입니다
https://www.youtube.com/@KimPandas