Matplotlib plot只在循环中进行最终绘图

2024-10-01 19:27:02 发布

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

在我的代码中,我有多个绘图需要自动化,我使用for循环遍历代码,并为每个循环创建1个绘图。然而,代码似乎只创造了最后的情节。如果我在一个循环中调用函数,这似乎是可行的,但是我不明白为什么它不能像我这里那样创建所有的绘图。在

for i in range(num_x):
        curr = usehdr[xcols[i]]

        for j in range(num_y):
            domain = data[:,xcols[i] - 1]
            image  = data[:,ycols[j] - 1]
            plt.plot(domain,image,'.', color = 'black')
            plt.xlabel(curr + ' NN distances (Mpc)')
            plt.ylabel(usehdr[ycols[j]])
            plt.title('D4000_N vs NN distances')

i变量是改变x数据集的绘图量 j变量是y数据集发生变化的绘图量。通常我从0到9(包括0到9),而j只执行一次。在


Tags: 代码inimage绘图fordatadomainrange
1条回答
网友
1楼 · 发布于 2024-10-01 19:27:02

我修复了它,发现它与MATLAB非常相似,我需要实现子图来保留我的其他绘图。现在这个代码起作用了:

for i in range(num_x):
        curr = usehdr[xcols[i]]

        for j in range(num_y):
            domain = data[:,xcols[i] - 1]
            image  = data[:,ycols[j] - 1]
            plt.subplot(num_x,num_y,i+1)
            plt.plot(domain,image,'.', color = 'black')
            plt.xlabel(curr + ' NN distances (Mpc)')
            plt.ylabel(usehdr[ycols[j]])
            plt.title('D4000_N vs NN distances')

或者,使用表演()用于几个单独的地块。在

^{pr2}$

相关问题 更多 >

    热门问题