如何在一个循环中共享x轴?

2024-09-28 16:21:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我用一个循环创建绘图,我希望这些绘图共享它们的x轴。下面是代码的一个示例。当然,val和要绘制的函数更复杂。我希望所有的子图共享x轴。在

import matplotlib.pyplot as plt
import numpy as np

val = [0.1, 0.2, 0.3]
nplots = len(val)
plt.figure()
for i, alpha in enumerate(val):
    plt.subplot(nplots,1,i+1)
    plt.plot(np.linspace(0,1,100), a * np.linspace(0,1,100)**2)
plt.show()

Tags: 函数代码importnumpy绘图示例matplotlibas
1条回答
网友
1楼 · 发布于 2024-09-28 16:21:22

如果我正确理解问题,这里的配方示例可能会有所帮助:

http://matplotlib.org/examples/pylab_examples/shared_axis_demo.html

在你的背景下,这是怎么做到的?在

fig = plt.figure()
ax0 = plt.subplot(nplots,1,1)
plt.plot(np.linspace(0,1,100), a * np.linspace(0,1,100)**2)
for i, alpha in enumerate(val):
    plt.subplot(nplots,1,i+2,sharex=ax0)
    plt.plot(np.linspace(0,1,100), a * np.linspace(0,1,100)**2)
plt.show()

编辑: 用更优雅的解决方案更新我自己的答案:

^{pr2}$

相关问题 更多 >