>  기사  >  백엔드 개발  >  Matplotlib 하위 플롯 생성 후 X축을 어떻게 공유할 수 있습니까?

Matplotlib 하위 플롯 생성 후 X축을 어떻게 공유할 수 있습니까?

DDD
DDD원래의
2024-10-25 00:47:02327검색

How Can I Share X Axes of Matplotlib Subplots After Their Creation?

생성 후 서브플롯의 X축 공유

matplotlib에서 독립적으로 생성된 서브플롯은 별도의 x축과 y축을 갖습니다. 서브플롯 간에 축을 공유하려면 일반적으로 서브플롯 생성 중에 공유 속성을 지정하는 것이 좋습니다.

그러나 이 문서에서는 서브플롯이 이미 생성된 후 x 축을 공유하는 특정 시나리오를 다룹니다. 이는 기존 서브플롯을 생성하는 라이브러리를 사용할 때 발생할 수 있습니다.

생성 후 축 공유

두 서브플롯을 생성한 후 x축을 연결하려면 sharex(ax) 메서드를 사용하세요.

<code class="python">ax2.sharex(ax1)</code>

여기서 ax1은 원하는 x축이 있는 서브플롯이고 ax2는 x축을 공유하려는 서브플롯입니다.

X 눈금 레이블 처리

x축을 공유한 후 중복을 피하기 위해 서브플롯 중 하나에서 x 눈금 레이블을 비활성화해야 합니다.

<code class="python">ax1.set_xticklabels([])  # Disable x tick labels for ax1</code>

자동 확장 고려 사항

필요에 따라 다음을 수행할 수 있습니다. 두 번째 서브플롯(ax2)에서 autoscale() 메서드를 사용하여 y축 배율을 조정합니다.

두 개의 서브플롯을 생성한 다음 x축을 사후에 공유하는 다음 코드를 고려해 보세요. Creation:

<code class="python">import numpy as np
import matplotlib.pyplot as plt

t = np.arange(1000) / 100
x = np.sin(2 * np.pi * 10 * t)
y = np.cos(2 * np.pi * 10 * t)

fig = plt.figure()
ax1 = plt.subplot(211)
ax1.plot(t, x)
ax2 = plt.subplot(212)
ax2.plot(t, y)

ax2.sharex(ax1)
ax1.set_xticklabels([])
# ax2.autoscale()  # Uncomment for autoscaling

plt.show()</code>

이 코드는 각각 자체 y축이 있지만 동일한 x축을 공유하는 두 개의 하위 플롯을 생성합니다. 중복을 피하기 위해 첫 번째 서브플롯에서는 x 눈금 레이블이 비활성화됩니다. 그리고 필요한 경우 y축 조정을 위해 두 번째 서브플롯에 자동 크기 조정을 적용할 수 있습니다.

위 내용은 Matplotlib 하위 플롯 생성 후 X축을 어떻게 공유할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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