这可能不是最好的 MWE,但我不确定这是否是一个特定问题,或者我只是不了解基本知识。这有效:
import matplotlib as mpl
import matplotlib.backends.backend_tkcairo as tkcairo
fig = mpl.figure.Figure()
canvas = tkcairo.FigureCanvasTkCairo(fig)
我认为这也应该有效:
import matplotlib as mpl
fig = mpl.figure.Figure()
canvas = mpl.backends.backend_tkcairo.FigureCanvasTkCairo(fig)
但它没有(模块 'matplotlib' 没有属性 'figure')。为什么这不起作用,为什么与 mpl.figure.Figure() 相关的错误在两个 MWE 之间没有区别?
uj5u.com热心网友回复:
matplotlib
不会自动汇入子模块figure
或子模块backends
,而是backends.backend_tkcairo
汇入figure
。
仅仅汇入一个模块并不一定意味着所有的子模块都会随之而来。这取决于这些是如何撰写的。
在这种情况下,最好显式地汇入您需要的子模块。
0 评论