如何在matplotlib中定义多个figureObject?

2024-09-29 22:42:18 发布

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

我想定义两个figures对象,然后在一个循环中,我想贡献给每个对象。下面的代码不能工作,但它演示了它是如何工作的。在

import matplotlib.pyplot as plt

plt1.figure()
plt1.xticks(rotation=90)

plt2.figure()
plt2.xticks(rotation=90)

for i in range(5):

   plt1.plot(xs_a[i], ys_a[i], label='line' + str(i))
   plt2.plot(xs_b[i], ys_b[i], label='line' + str(i))

plt1.savefig(fname_1)
plt2.savefig(fname_2)

我一直认为plt是一个图像对象,我可以为其设置一些参数(例如xticks),或者可以向其中添加一些曲线。但是,plt是我导入的一个库。那么,当我需要定义两个或多个图形对象时,我应该怎么做?在


Tags: 对象定义plotlinepltlabelfigurexs
1条回答
网友
1楼 · 发布于 2024-09-29 22:42:18

这应该行得通。首先创建两个figure对象(fig1fig2)。对于每个图形,使用add_subplot方法添加轴。然后,您可以使用这些轴对象来绘制您想要的任何内容,并根据需要设置参数(如记号)。在

import matplotlib.pyplot as plt

fig1 = plt.figure()
ax1 = fig1.add_subplot(111)

fig2 = plt.figure()
ax2 = fig2.add_subplot(111)

for i in range(5):

    ax1.plot(xs_a[i], ys_a[i], label='line' + str(i))
    ax2.plot(xs_b[i], ys_b[i], label='line' + str(i))

plt.setp( ax1.xaxis.get_majorticklabels(), rotation=90)
plt.setp( ax2.xaxis.get_majorticklabels(), rotation=90)

fig1.savefig(fname_1)
fig2.savefig(fname_2)

相关问题 更多 >

    热门问题