如何使用matplotlib绘制多个图像?

时间:2013-07-23 15:19:20

标签: python matplotlib ipython

我在两个案例中做了一个循环,并且每个案例我都尝试制作一个情节。

for col_name in ['col2','col3']:
    x_min = min(df['col1'].min(), df[col_name].min())
    x_max = max(df['col1'].max(), df[col_name].max())
    plt.xlim([x_min,x_max])
    plt.ylim([x_min,x_max])
    plt.axes().set_aspect('equal')
    plt.scatter(df['col1'], df[col_name])

结果我在我的IPython笔记本中得到了一个情节。有谁知道如何克服这个问题?

2 个答案:

答案 0 :(得分:3)

您需要不止一次致电figure()

for col_name in ['col2','col3']:
    plt = figure() #This gives you a new figure to plot in
    x_min = min(df['col1'].min(), df[col_name].min())
    x_max = max(df['col1'].max(), df[col_name].max())
    plt.xlim([x_min,x_max])
    plt.ylim([x_min,x_max])
    plt.axes().set_aspect('equal')
    plt.scatter(df['col1'], df[col_name])

答案 1 :(得分:1)

如果我想在不同的窗口上使用它,我会使用两个数字。

这样的事情应该有效。

>>> for i in range(3):
        xAxis = [randint(1, 5) for _ in range(10)]
        plt.figure(1)
        plt.plot(xAxis)
        plt.show()
        xAxis2 = [randint(1, 5) for _ in range(10)]
        plt.figure(2)
        plt.plot(xAxis2)
        plt.show()

它给了我连续六个数字。

因为每次迭代需要一个新的数字,所以。

for index, col_name in ['col2','col3']:
    plt.figure(index)
    # Do the plotting.