我正在尝试使用matplotlib
获取子图,在运行时计算subplots
的数量(pnum
在下面的示例中有所不同)
pnum = len(args.m)
f, (ax1, ax2) = plt.subplots(pnum, sharex=True, sharey=True)
ax1.plot(x,ptp, "#757578",label="Total")
ax2.fill_between(x,dxyp,facecolor="C0", label="$d_{xy}$")
这个例子显然只有在pnum = 2时才能工作。所以,我还需要做点别的事。
我已经检查了this question的已接受答案,但这在所有情节中都是相同的。
答案 0 :(得分:1)
要创建动态数量的子图,您可以决定不单独指定轴,而是作为轴数组
pnum = len(args.m)
fig, ax_arr = plt.subplots(pnum, sharex=True, sharey=True)
然后 ax_arr
是一个numpy数组。
然后,您可以在循环中为每个轴执行某些操作。
for ax in ax_arr.flatten():
ax.plot(...)