Python 如何将一个选项同时应用于多个图形

Python 如何将一个选项同时应用于多个图形,python,matplotlib,Python,Matplotlib,如果我这样做 import numpy as np import matplotlib.pyplot as plt a=[1,2,3] b=[3,4,5] plt.figure(1) plt.xlim(0,3) plt.plot(b) plt.figure(2) plt.plot(a) plt.show() x轴的选择仅适用于图1。我可以使用什么来区分我希望仅对图1或图2有效的选项和我希望应用于两个图的选项 澄清:我知道可以多次致电plt.xlim。我在寻找一种像这样的形式 plt.appl

如果我这样做

import numpy as np
import matplotlib.pyplot as plt
a=[1,2,3]
b=[3,4,5]

plt.figure(1)
plt.xlim(0,3)
plt.plot(b)
plt.figure(2)
plt.plot(a)
plt.show()
x轴的选择仅适用于图1。我可以使用什么来区分我希望仅对图1或图2有效的选项和我希望应用于两个图的选项

澄清:我知道可以多次致电plt.xlim。我在寻找一种像这样的形式

plt.apply_options_to(1,2)

从那一刻起,每当我调用plt.xlim时,该选项将应用于两个数字,而不仅仅是两个数字中的一个

使用pyplot,每个命令应用于当前活动的图形或轴。这意味着您可以轻松地在图形上循环并应用每个命令,如

for i in (1,2):
    plt.figure(i)
    plt.xlim(0,3)
这是三行代码。如果要求使用一行代码,那么下面是一个解决方案

[plt.setp(plt.figure(i).axes[0], xlim=(0,3)) for i in plt.get_fignums() if i in (1,2)] 
这既不优雅,也不容易键入,因此在使用pyplot时,我推荐第一种解决方案

但是,一般来说,我建议使用面向对象的方法,其中创建两个图形如下所示:

import matplotlib.pyplot as plt
a=[1,2,3]
b=[3,4,5]

fig, ax = plt.subplots()
ax.plot(b)
fig2, ax2 = plt.subplots()
ax2.plot(a)

plt.show()
然后,单线解决方案也更紧凑一些

plt.setp([ax,ax2], xlim=(0,3))

不清楚你在问什么。请更具体地说,他们希望在一次调用plt.xlimWith pyplot时将x限制应用于图1和图2。每个命令应用于当前活动的图形或轴。只需在plt.figure2下面添加另一个plt.xlim0,3。总的来说,我建议使用面向对象的方法,而不是pyplot。T.Y.@ImportanceOfBeingErnest我想用一个命令来完成。一个命令意味着什么?它是可以用一行字写的东西吗?也许你可以说明这一切背后的动机,这样你就可以找到最适合你的解决方案了?很好,面向对象的方法似乎是最优雅、最实用的方法。t、 y。