可以用 18*18 的子图腌制图形吗?
figure = plt.figure()
axes = figure.subplots(18, 18, sharex='all', sharey='all', gridspec_kw={'hspace': 0, 'wspace': 0})
for ax in axes.flat:
ax.set_yticks([])
ax.set_xticks([])
with open('fig.pickle', 'wb') as file:
pickle.dump(figure, file)
当我尝试这样做时,出现错误:RecursionError:调用 Python 对象时超出了最大递归深度
答案 0 :(得分:0)
这可以通过通过 sys
模块增加系统递归限制来解决。递归限制是为了尽早停止任何未优化/错误的递归,并且可以安全地增加到这个用例的 ~10,000(前提是你有 RAM 来处理它)。
这是一个工作示例:
import pickle
import sys
import matplotlib.pyplot as plt
sys.setrecursionlimit(10_000) #this makes it work
figure = plt.figure()
axes = figure.subplots(18, 18, sharex='all', sharey='all', gridspec_kw={'hspace': 0, 'wspace': 0})
for ax in axes.flat:
ax.set_yticks([])
ax.set_xticks([])
with open('fig.pickle', 'wb+') as outfile:
pickle.dump(figure, outfile)