创建 Matplotlib 子图后如何共享 X 轴?

DDD
发布: 2024-10-25 00:47:02
原创
327 人浏览过

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 轴创建:

<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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!