python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Pycharm使用matplotlib警告\不能显示

Pycharm使用matplotlib警告\不能显示的问题及解决

作者:LWuoa

在PyCharm中使用matplotlib画图时遇到警告和图像显示问题,通过在代码中添加`mpl.use('TkAgg')`或`plt.switch_backend('TkAgg')`,可以解决警告并弹出显示完整的图像窗口,同时,文章还列举了matplotlib的其他backend选项,如Qt4Agg、Qt5Agg、WXAgg等

问题

在Pycharm中,使用matplotlib画图,警告:

MatplotlibDeprecationWarning: Support for FigureCanvases without a required_interactive_framework attribute was deprecated in Matplotlib 3.6 and will be removed two minor releases later.

与此同时,画图要么不弹出图像,要么图像很小挤在右侧窗口,不能很好的展示出来。

代码警告且显示图像不全

解决方案

在代码开头添加mpl.use('TkAgg'),结束时添加plt.show(),就可以不再发出警告,并且图像窗口会弹出显示。

import matplotlib as mpl
import matplotlib.pyplot as plt
mpl.use('TkAgg')

...

plt.show()

也可以将mpl.use('TkAgg')用plt.switch_backend('TkAgg')替换,效果是一样的,即:

import matplotlib.pyplot as plt
plt.switch_backend('TkAgg')
...

plt.show()

‘TkAgg’是matplotlib的其中一个backend的选项,常见的backend有:Qt4Agg Qt5Agg TkAgg WX WXAgg Agg Cairo GDK PS PDF SVG。

TkAgg:

WebAgg:

注意使用mpl.use('Agg')是不能直接弹出图片的。建议换成其他backend。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文