>백엔드 개발 >파이썬 튜토리얼 >수직으로 쌓인 플롯을 많이 생성할 때 Matplotlib에서 하위 플롯이 겹치는 것을 어떻게 방지할 수 있습니까?

수직으로 쌓인 플롯을 많이 생성할 때 Matplotlib에서 하위 플롯이 겹치는 것을 어떻게 방지할 수 있습니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-06 03:26:12648검색

많은 플롯으로 Matplotlib에서 하위 플롯 겹치기

웹 페이지에 표시하기 위해 Matplotlib에서 일련의 수직으로 쌓인 플롯을 생성할 때 하위 플롯 사이의 적절한 간격을 보장하여 겹치는 것을 방지하는 것이 중요합니다. 그림 크기가 증가함에도 불구하고 서브플롯이 겹치는 경우가 많습니다.

현재 구현

다음 코드는 현재 구현을 보여줍니다.

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("Some X label")
    plt.ylabel("Some Y label")
    plt.title(titles[i])
    plt.plot(x_lists[i],y_list)
fig.savefig('out.png', dpi=100)

해결책: 타이트한 레이아웃

이 문제를 해결하려면 다음을 사용하는 것이 좋습니다. 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() # Or equivalently,  "plt.tight_layout()"

plt.show()

시각적 비교

다음 이미지는 사용의 영향을 보여줍니다. Tight_layout:

tight_layout 없음

How Can I Prevent Overlapping Subplots in Matplotlib When Creating Many Vertically Stacked Plots?

tight_layout 있음

How Can I Prevent Overlapping Subplots in Matplotlib When Creating Many Vertically Stacked Plots?

위 내용은 수직으로 쌓인 플롯을 많이 생성할 때 Matplotlib에서 하위 플롯이 겹치는 것을 어떻게 방지할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.