gpt4 book ai didi

matplotlib - 在运行前不知道图数的情况下使用 matplotlib 进行多图

转载 作者:行者123 更新时间:2023-12-04 14:32:07 26 4
gpt4 key购买 nike

我对 Matplotlib 的子图有问题。我不知道我想事先绘制的子图的数量,但我知道我希望它们分成两行。所以我不能使用

plt.subplot(212)

因为我不知道我应该提供的号码。

它应该是这样的:

example for plot

现在,我将所有的图绘制到一个文件夹中,并用 illustrator 将它们放在一起,但必须有更好的方法使用 Matplotlib。如果我在某处不清楚,我可以提供我的代码。

最佳答案

我的理解是,您只知道运行时的绘图数量,因此正在努力使用速记语法,例如:

plt.subplot(121)

谢天谢地,为了避免你不得不做一些笨拙的数学运算来以编程方式计算这个数字,还有另一个界面允许你使用表单:
plt.subplot(n_cols, n_rows, plot_num)

所以在你的情况下,如果你想要 n情节,你可以这样做:
n_plots = 5 # (or however many you programatically figure out you need)
n_cols = 2
n_rows = (n_plots + 1) // n_cols
for plot_num in range(n_plots):
ax = plt.subplot(n_cols, n_rows, plot_num)
# ... do some plotting

或者,还有一个稍微更pythonic的界面,您可能希望注意:
fig, subplots = plt.subplots(n_cols, n_rows)
for ax in subplots:
# ... do some plotting

(请注意,这是 subplots() 不是普通的 subplot() )。虽然我必须承认,我从未使用过后一种界面。

HTH

关于matplotlib - 在运行前不知道图数的情况下使用 matplotlib 进行多图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10894950/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com