Pycharm中画图警告:MatplotlibDeprecationWarning

2023-07-01 16:15:24

前言: \textcolor{Green}{前言:} 前言:

💞这是由于在python中画图出现的问题,一般不会有错。因为它只是个警告,但是我们也可以知道解决这个问题的方法,防止后面出问题的时候知道怎么解决。

问题:

在使用Matplotlib的show方法时,控制台出现以下警告信息:

MatplotlibDeprecationWarning: Support for FigureCanvases without a required_interactive_framework attribute was deprecated in Matplotlib 3.6 and will be removed two minor releases later.
  fig = plt.figure(figsize=(10, 5))
MatplotlibDeprecationWarning: Support for FigureCanvases without a required_interactive_framework attribute was deprecated in Matplotlib 3.6 and will be removed two minor releases later.
  plt.show()

MatplotlibDeprecationWarning: Support for FigureCanvases without a required_interactive_framework attribute was deprecated in Matplotlib 3.6 and will be removed two minor releases later.
在这里插入图片描述

原因

这是由于Matplotlib在升级到3.6版本后放弃了原来FigureCanvases(绘图画布)的支持,之后也会删除这种应用,以后版本依然会出现这个错误。

意味着如果你的代码中使用了没有设置该属性的 FigureCanvases(绘图画布),未来的版本中可能会导致错误或者不可预测的行为。

解决方法一

  1. Settings中设置

在这里插入图片描述

  1. 找到Tools中的 Python Scientific ,取消中选的这个勾勾,最后点击ok即可。

在这里插入图片描述

这种方式的解决原理是将原本呈现在pycharm中的窗口(如下图),放到了最外面(如第二章图)。
在这里插入图片描述
最终呈现的结果如图,并且没有报错了。
在这里插入图片描述

解决方法二

(来源网络未尝试)

  1. 检查你的Matplotlib版本:确保你使用的是Matplotlib 3.6或更高版本。
  2. 更新你的代码:查找你的代码中使用的plt.show()语句,然后尝试修改为更现代的方法,以避免警告。
    • 如果你在交互式环境(如Jupyter Notebook)中使用Matplotlib,可以尝试使 用%matplotlib魔法命令来配置交互式绘图。
    • 如果你在脚本中使用Matplotlib,可以考虑使用plt.pause()或者将绘图保存到文件而不是显示在屏幕上。
    • 如果你确实需要使用plt.show()来显示绘图,并且你确定你的代码没有其他问题,你可以忽略这个警告。
更多推荐

iOS17适配指南-新版

文章目录一、iOS17适配点二、具体代码一、iOS17适配点UIView与UIViewController。可以设置数据为空时的占位视图,增加SymbolAnimations,通过addSymbolEffect()与removeSymbolEffect()方法,可以实现SFSymbols图标的添加与移除动画。UIPag

通讯网关软件007——利用CommGate X2Mbt实现Modbus TCP访问MSSQL服务器

本文介绍利用CommGateX2Mbt实现ModbusTCP访问MSSQL数据库。CommGateX2MBT是宁波科安网信开发的网关软件,软件可以登录到网信智汇(wangxinzhihui.com)下载。【案例】如下图所示,实现上位机通过ModbusTCP来获取MSSQL数据库的数据。【解决方案】设置网关机,与MSSQ

【Java核心】JDK、JRE、 JVM的联系与区别

个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~个人主页:.29.的博客学习社区:进去逛一逛~JDK、JRE、JVM的联系与区别1.简述2.是什么3.联系和区别1.简述简单来说:JDK是开发Java程序所需的工具包,包含了JRE,并且额外提供了开发工

Linux高性能服务器编程 学习笔记 第四章 TCP/IP通信案例:访问Internet上的Web服务器

Web客户端和服务器之间使用HTTP协议通信。我们按以下方式来部署通信实例:在Kongming20上运行wget客户端程序(一个在命令行下使用的网络下载工具,它支持通过HTTP、HTTPS和FTP协议下载文件),在ernest-laptop上运行squid代理服务器程序(主要用于缓存和转发网络请求,从而提高网络性能、安

免费IP类api接口:含ip查询、ip应用场景查询、ip代理识别、IP行业查询...

免费IP类api接口:含ip查询、ip应用场景查询、ip代理识别…IP归属地-IPv6区县级:根据IP地址(IPv6版本)查询归属地信息,包含国家、省、市、区县和运营商等信息。IP归属地-IPv6城市级:根据IP地址(IPv6版本)查询归属地信息,支持到中国大陆地区(不含港澳台地区)城市级别,包含国家、省、市和运营商等

酷开科技打造更好体验服务用户

智能电视以其海量资源、智慧大屏、高清画质等特点在国内快速普及。然而,随着用户量的增加、用户群体的需求多元化,导致消费者对智能电视的应用要求越来越高,不仅希望智能电视内容丰富,最好还能拥有“多合一”的功能。好在,一些科技企业关注到市场痛点,致力于将技术创新与完善的内容输出相结合,为广大消费者带来更多惊喜。酷开科技就是其中

Kafka开篇

前言从本篇开始对个人Kafka学习做一个总结,目标有这么几个。从概念架构角度,对消息中间件形成概要认知;从使用角度,掌握其常见用法;从性能角度,探究其高性能实现机制;消息中间件的用途从消息生产和消费的角度,平衡消费者和消费者的速率差。基于该点可以做到削峰填谷,比如流量突发,日志处理等。从系统解耦的角度,解耦生产者和消费

React 全栈体系(九)

第五章React路由一、相关理解1.SPA的理解单页Web应用(singlepagewebapplication,SPA)。整个应用只有一个完整的页面。点击页面中的链接不会刷新页面,只会做页面的局部更新。数据都需要通过ajax请求获取,并在前端异步展现。2.路由的理解2.1什么是路由?一个路由就是一个映射关系(key:

Mysql的常见错误总结

Mysql的常见错误总结Datatruncation:Outofrangevalueofforcolumn在执行一个update语句的时候,报错Datatruncation:Outofrangevalueofforcolumn‘CLAIM_QUANTITY’…update语句是把’CLAIM_QUANTITY’这个字段

使用Python编写一个多线程的12306抢票程序

国庆长假即将到来,大家纷纷计划着自己的旅行行程。然而,对于很多人来说,抢购火车票人们成了一个令人头疼的问题。12306网站的服务器经常因为流量高而崩溃,导致抢票变得越来越严重异常困难。首先,让我们来了解一下12306抢票的难点。由于很多人都在同一时间段内访问12306网站,服务器的负载率非常高,导致网站响应变慢甚至崩溃

【uniapp】小程序开发:3 分包配置

分包加载配置,此配置为小程序的分包加载机制。因小程序有体积和资源加载限制,各家小程序平台提供了分包方式,优化小程序的下载和启动速度。所谓的主包,即放置默认启动页面/TabBar页面,以及一些所有分包都需用到公共资源/JS脚本;而分包则是根据pages.json的配置进行划分。在小程序启动时,默认会下载主包并启动主包内页

热文推荐