반응형
질문
저는 matplotlib에서 수직으로 쌓인 다수의 플롯을 생성해야 합니다. 결과물은 savefig
를 사용하여 저장되고 웹페이지에서 볼 수 있으므로, 서브플롯이 서로 겹치지 않도록만 한다면 최종 이미지의 높이는 상관하지 않습니다.
그러나 피격을 허용하는 그림의 크기를 어떻게 설정하든 서브플롯은 항상 겹쳐 보입니다.
현재 코드는 다음과 같습니다.
import matplotlib.pyplot as plt
import my_other_module
titles, x_lists, y_lists = my_other_module.get_data()
fig = plt.figure(figsize=(10,60))
for i, y_list in enumerate(y_lists):
plt.subplot(len(titles), 1, i)
plt.xlabel("X 라벨")
plt.ylabel("Y 라벨")
plt.title(titles[i])
plt.plot(x_lists[i],y_list)
fig.savefig('out.png', dpi=100)
답변
아래 HTML을 한국어로 번역하되, HTML 태그와 태그를 영어로 유지합니다.
다음을 확인하십시오. matplotlib: Tight Layout 가이드를 참조하고 matplotlib.pyplot.tight_layout
또는 matplotlib.figure.Figure.tight_layout
을 사용해보십시오.
빠른 예제로:
import matplotlib.pyplot as plt
fig, axes = plt.subplots(nrows=4, ncols=4, figsize=(8, 8))
fig.tight_layout() # 또는 동등하게 "plt.tight_layout()"
plt.show()
Tight Layout 없이
Tight Layout 사용
반응형
댓글