如何在循环中添加子图形

2024-09-27 21:24:35 发布

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

我有一个循环,我想在其中创建三个子图形。下面是一些删除了函数定义的代码。在

n = 14
dets = []
entropies = []

N = 1000


fig = plt.figure()

# The loop.
for h in xrange(2,8,2):
    for i in xrange(N):
        A = (np.random.randint(2, size=(h,n)))*2-1
        detA_Atranspose = np.linalg.det(np.dot(A, A.transpose()))
        logdetA_Atranspose = math.log(detA_Atranspose + 1,2)
        H = compute_entropy(A)
        entropies.append(H)
        dets.append(logdetA_Atranspose)

    ax1 = fig.add_subplot(311)
    ax1.plot(dets, entropies, 'ro')

plt.show()

但是,有些事我不知道该怎么做。在

  • 在上面的代码中,我需要在第二次迭代中使用ax2 = fig.add_subplot(312) ax2.plot(dets, entropies, 'ro'),在第三次迭代中需要ax3 = fig.add_subplot(313) ax3.plot(dets, entropies, 'ro')来创建这三个子图。我该怎么做?在

Tags: 代码inaddforroplotnpfig
1条回答
网友
1楼 · 发布于 2024-09-27 21:24:35

您可以使用^{}并执行以下操作:

fig, ax = plt.subplots(nrows = 3, ncols = 1)

hs = [2,8,2]

for p in xrange(3):
    h = hs[p]
    for i in xrange(N):

        # skip other code

    ax[p].plot(dets, entropies, 'ro')

相关问题 更多 >

    热门问题