python – 在matplotlib中动态地添加/创建子图

我想创建一个由具有共享x / y轴的几个子图组成的图。
它应该从文档看起来像这样(虽然我的子图将是散点图):(code here)

3 subplots sharing x and y axis http://matplotlib.sourceforge.net/mpl_examples/pylab_examples/subplots_demo_03.png

但是我想动态创建子图!

因此,子图的数量取决于之前的函数的输出。 (每个图表可能大约3到15个子图,每个子图都是来自不同的数据集,具体取决于我的脚本的输入。)

任何人都可以告诉我如何做到这一点

import matplotlib.pyplot as plt
from pylab import *
import numpy as np

x = np.linspace(0, 2*np.pi, 400)
y = np.sin(x**2)

subplots_adjust(hspace=0.000)
number_of_subplots=3

for i,v in enumerate(xrange(number_of_subplots)):
    v = v+1
    ax1 = subplot(number_of_subplots,1,v)
    ax1.plot(x,y)

plt.show()

此代码可以工作,但您需要更正轴。我曾经在同一列中绘制3个图表。所有你需要做的是将一个整数分配给number_of_plots变量。如果每个图的X和Y值不同,您将需要为每个图分配它们。

子图如下,如果我有一个3,1,1的子图值。这将创建一个3×1网格,并将绘图放在第一位置。在下一个交互中,如果我的子图值是3,1,2,它再次创建一个3×1格,但将图放在第二位置等等。

http://stackoverflow.com/questions/12319796/dynamically-add-create-subplots-in-matplotlib

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:python – 在matplotlib中动态地添加/创建子图