如何在 matplotlib 中定义多个图形对象?
How to define several figure-objects in 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
是我导入的库。那么,当我需要定义两个或多个图形对象时,我应该怎么做呢?
这应该有效。您首先创建两个图形对象(fig1
和 fig2
)。对于每个图形,您使用 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)
我想定义两个图形对象,然后在一个循环中我想为每个对象做出贡献。以下代码将不起作用,但它演示了它是如何工作的。
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
是我导入的库。那么,当我需要定义两个或多个图形对象时,我应该怎么做呢?
这应该有效。您首先创建两个图形对象(fig1
和 fig2
)。对于每个图形,您使用 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)