图右下角显示的子图,而不是在网格内

2024-04-18 14:26:47 发布

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

这是一个可复制的代码:

import matplotlib.pyplot as plt
import numpy as np
data_list = [np.random.normal(0, 1, [10]) for i in range(50)]
data_it = iter(data_list)

fig_size = (12, 8)
num_subs = 30
num_imgs = len(data_list)
num_figs = num_imgs/num_subs + 1

fig_list = []
for i in xrange(num_figs):
    fig = plt.figure(i, figsize=fig_size)
    fig_list.append(fig)
    for j in range(num_subs):
        ax = fig.add_subplot(5, 6, j)
        ax.tick_params(bottom='off', top='off', left='off', right='off',
                       labelbottom='off', labeltop='off', labelright='off', labelleft='off')
        ax.plot(np.arange(10), data_it.next())
        ax.set_title('look at this!')

enter image description here

但正如你在上面看到的,在我的图1的右下角有一个孤独的子图。我找不到导致这种情况发生的错误。有人能指出我必须解决什么,以便图1有良好的订购子批次?提前谢谢!你知道吗


Tags: inimportfordataasnpfigrange
1条回答
网友
1楼 · 发布于 2024-04-18 14:26:47

哦,我发现了问题:

子图的索引必须以1开头。如果有0,这将使图形在图形的右端角绘制一个子图。你知道吗

换句话说,只要在for循环的j中加1就可以解决这个问题

无论如何谢谢你!你知道吗

相关问题 更多 >