在 matplotlib 中,独立创建的子图具有单独的 x 轴和 y 轴。要在子图之间共享轴,通常建议在创建子图时指定共享属性。
但是,本文讨论了创建子图后共享 x 轴的特定场景。使用生成预先存在的子图的库时可能会出现这种情况。
要在创建后链接两个子图的 x 轴,请使用 sharex(ax) 方法:
<code class="python">ax2.sharex(ax1)</code>
其中 ax1 是具有所需 x 轴的子图,ax2 是要共享 x 轴的子图。
共享 x 轴后,您需要禁用其中一个子图上的 x 刻度标签以避免重复。
<code class="python">ax1.set_xticklabels([]) # Disable x tick labels for ax1</code>
根据需要,您可能想要在第二个子图 (ax2) 上使用 autoscale() 方法来调整其 y 轴缩放。
考虑以下代码,该代码创建两个子图,然后共享它们的 x 轴创建:
<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中文网其他相关文章!