0

我对两个案例进行了循环,对于每个案例我都尝试制作一个情节。

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 笔记本中得到了一个绘图。有谁知道如何克服这个问题?

4

2 回答 2

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])
于 2013-07-23T15:28:59.230 回答
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.
于 2013-07-23T15:24:52.187 回答