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

 更新时间:2025年02月20日 10:08:33   作者: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。

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

总结

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

相关文章

  • 使用Python pyqt打造任意Excel数据库系统

    使用Python pyqt打造任意Excel数据库系统

    这篇文章主要为大家详细介绍了如何使用Python pyqt打造一个任意Excel数据库系统,可以对用户上传的任意电子表格Excel文件均可完成复杂数据库查询,需要的小伙伴可以了解下
    2025-07-07
  • 使用Python + Tkinter + openpyxl实现Excel文本化转换

    使用Python + Tkinter + openpyxl实现Excel文本化转

    在实际开发中,我们经常需要将 Excel 中的所有数据转换为字符串格式,尤其是处理包含 合并单元格 的复杂表格时,所以本文将介绍如何使用 Python + Tkinter + openpyxl实现Excel文本化转换,需要的朋友可以参考下
    2025-12-12
  • python中isinstance()和insubclass()的实现

    python中isinstance()和insubclass()的实现

    本文主要介绍了python中isinstance()和insubclass()的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-09-09
  • 利用python实现微信头像加红色数字功能

    利用python实现微信头像加红色数字功能

    通过Python实现将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似于微信未读信息数量那种提示效果。下面通过本文给大家分享python实现微信头像加红色数字功能,感兴趣的朋友一起看看吧
    2018-03-03
  • 用python写asp详细讲解

    用python写asp详细讲解

    本文介绍使用python写asp程序代码,大家参考使用吧
    2013-12-12
  • pd.DataFrame统计各列数值多少的实例

    pd.DataFrame统计各列数值多少的实例

    今天小编就为大家分享一篇pd.DataFrame统计各列数值多少的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • Python Flask入门

    Python Flask入门

    今天小编就为大家分享一篇Python Flask的入门教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-11-11
  • python使用socket高效传输视频数据帧(连续发送图片)

    python使用socket高效传输视频数据帧(连续发送图片)

    本文主要介绍了python使用socket高效传输视频数据帧(连续发送图片),文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10
  • Python安装selenium包详细过程

    Python安装selenium包详细过程

    在本篇文章里小编给大家整理了关于Python安装selenium包详细过程,需要的朋友们可以学习下。
    2019-07-07
  • python实现多线程行情抓取工具的方法

    python实现多线程行情抓取工具的方法

    当我们实现了单线程,接下来就是实现多线程了,下面这篇文章主要给大家介绍了关于python实现多线程行情抓取工具的方法,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。
    2018-02-02

最新评论