如何在matplotlib中定义几个图形对象?

时间:2015-04-21 12:31:45

标签: python matplotlib

我想定义两个图形对象然后在循环中我想为它们中的每一个做出贡献。以下代码不起作用,但它演示了它的工作原理。

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是我导入的库。那么,当我需要定义两个或更多图形对象时,我应该怎么做?

1 个答案:

答案 0 :(得分:3)

这应该有效。首先创建两个图形对象(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)