当前位置: 代码网 > it编程>开发工具>Pycharm > Pycharm使用matplotlib警告\不能显示的问题及解决

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

2025年02月20日 Pycharm 我要评论
问题在pycharm中,使用matplotlib画图,警告:matplotlibdeprecationwarning: support for figurecanvases without a req

问题

在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。

  • agg:使用反走样技术生成png图像。
  • gtk3agg:使用gtk3库在gtk3应用程序中渲染绘图。
  • qtagg:使用qt库在qt应用程序中渲染绘图。
  • wxagg:使用wxpython库在wxwidgets应用程序中渲染绘图。
  • macosx:在mac os x系统中使用内置的渲染器渲染绘图。
  • webagg:将绘图保存为html页面,可以在web浏览器中查看。
  • svg:将绘图保存为svg矢量图像。

tkagg:

webagg:

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

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com