如何在Python的matplotlib中获取当前图形编号?

问题描述 投票:0回答:2

我正在研究一个示例脚本,该脚本展示了如何在图形之间来回切换。我在这里找到了这个例子:http://matplotlib.org/examples/pylab_examples/multiple_figs_demo.html当我尝试打印出数字时,我得到“Figure(640x480)”而不是我期望的数字1。怎么拿到号码?

# Working with multiple figure windows and subplots
import matplotlib.pyplot as plt
import numpy as np

t = np.arange(0.0, 2.0, 0.01)
s1 = np.sin(2*np.pi*t)
s2 = np.sin(4*np.pi*t)

plt.figure(1)
plt.subplot(211)
plt.plot(t, s1)
plt.subplot(212)
plt.plot(t, 2*s1)

plt.figure(2)
plt.plot(t, s2)

# now switch back to figure 1 and make some changes
plt.figure(1)
plt.subplot(211)
plt.plot(t, s2, 's')
ax = plt.gca()
ax.set_xticklabels([])

# Return a list of existing figure numbers.
print "Figure numbers are = " + str(plt.get_fignums())
print "current figure = " + str(plt.gcf())
print "current axes   = " + str(plt.gca())

plt.show()

这是输出:

Figure numbers are = [1, 2]
current figure = Figure(640x480)
current axes   = Axes(0.125,0.53;0.775x0.35)
python matplotlib figure
2个回答
25
投票

Figure
对象具有
number
属性,因此您可以通过

获取数字
>>> plt.gcf().number

0
投票

以防有人寻找获取数字字符串

num
值的方法。在图形对象上使用
get_label()
方法 (docs)。如果数字
num
为 int 或未设置

,则返回空字符串
© www.soinside.com 2019 - 2024. All rights reserved.