全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

不同版本中Python matplotlib.pyplot.draw()界面绘制异常问题的解决

前言

本文主要给大家介绍了关于不同版本中Python matplotlib.pyplot.draw()界面绘制异常的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。

在 Ubuntu系统上进行如下配置:

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install python-dev
$ sudo apt-get install python-pip
$ sudo pip install --upgrade pip
$ sudo pip install --upgrade urllib3
$ sudo pip install numpy
$ sudo pip install matplotlib

之后执行如下测试代码:

import sys
import numpy as np
import matplotlib.pyplot as plt
 
plt.ion()
(fig, axis) = plt.subplots()
bar_plot = axis.barh(0, 8,linewidth = 0)
bar_plot.color= '#ffff00'
for i in range(20):
 axis.set_xlim(xmax = max(i + 1, 10))
 plt.draw()
 
if sys.version_info < (3, 0):
 raw_input("Press Enter to continue...")
else:
 input("Press Enter to continue...")

上面的测试代码在 Ubuntu 14.04.5版本上是可以正常执行的,对应的 matplotlib的版本是 matplotlib 1.3.1,但是放到 Ubuntu 16.04.2系统上则是无法正常显示的,对应的 matplotlib的版本是 matplotlib 1.5.1。

造成这个问题的原因在于 matplotlib.pyplot.draw() ,这个函数行为的改变,早期这个函数是同步更新界面的,后来的版本却变成了空闲异步更新界面,只有当 matplotlib.pyplot.pause(interval)被调用的时候才会刷新界面。

所以只需要上面的代码修改成如下即可在不同版本之间兼容:

import sys
import numpy as np
import matplotlib.pyplot as plt
 
plt.ion()
(fig, axis) = plt.subplots()
bar_plot = axis.barh(0, 8,linewidth = 0)
bar_plot.color= '#ffff00'
for i in range(20):
 axis.set_xlim(xmax = max(i + 1, 10))
 plt.draw()
 plt.pause(0.00001)
 
if sys.version_info < (3, 0):
 raw_input("Press Enter to continue...")
else:
 input("Press Enter to continue...")

注意:我们在 matplotlib.pyplot.draw()调用后面增加了 matplotlib.pyplot.pause(interval)的调用。

查看 matplotlib的版本使用如下代码:

import matplotlib as mpl
print mpl.__version__

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。

参考链接

  • real-time plotting in while loop with matplotlib
  • matplotlib Troubleshooting
  • How to know the version of installed pylab?


# python  # matplotlib  # python的matplotlib  # python3  # Python OpenCV中的drawMatches()关键匹配绘制方法  # python opencv鼠标画点之cv2.drawMarker()函数  # python ImageDraw类实现几何图形的绘制与文字的绘制  # Python图像处理库PIL的ImageDraw模块介绍详解  # Python使用draw类绘制图形示例讲解  # 相关内容  # 说了  # 则是  # 才会  # 不多  # 这个问题  # 可在  # 给大家  # 只需要  # 这篇文章  # 谢谢大家  # 正常显示  # 增加了  # 变成了  # 同步更新  # 有疑问  # install  # upgrade  # import 


相关文章: 湖北网站制作公司有哪些,湖北清能集团官网?  如何在IIS7上新建站点并设置安全权限?  合肥做个网站多少钱,合肥本地有没有比较靠谱的交友平台?  海南网站制作公司有哪些,海口网是哪家的?  定制建站流程步骤详解:一站式方案设计与开发指南  重庆市网站制作公司,重庆招聘网站哪个好?  招商网站制作流程,网站招商广告语?  常州自助建站工具推荐:低成本搭建与模板选择技巧  SQL查询语句优化的实用方法总结  定制建站是什么?如何实现个性化需求?  制作网页的网站有哪些,电脑上怎么做网页?  怀化网站制作公司,怀化新生儿上户网上办理流程?  深圳网站制作平台,深圳市做网站好的公司有哪些?  如何选择PHP开源工具快速搭建网站?  详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)  建站之星云端配置指南:模板选择与SEO优化一键生成  唐山网站制作公司有哪些,唐山找工作哪个网站最靠谱?  建站之星代理平台如何选择最佳方案?  ,如何利用word制作宣传手册?  郑州企业网站制作公司,郑州招聘网站有哪些?  建站之星安装提示数据库无法连接如何解决?  网站制作难吗安全吗,做一个网站需要多久时间?  视频网站制作教程,怎么样制作优酷网的小视频?  实现虚拟支付需哪些建站技术支撑?  ,网站推广常用方法?  建站主机选购指南与交易推荐:核心配置解析  视频网站app制作软件,有什么好的视频聊天网站或者软件?  网站代码制作软件有哪些,如何生成自己网站的代码?  如何快速搭建高效可靠的建站解决方案?  想学网站制作怎么学,建立一个网站要花费多少?  如何在阿里云购买域名并搭建网站?  Swift中循环语句中的转移语句 break 和 continue  宿州网站制作公司兴策,安徽省低保查询网站?  免费视频制作网站,更新又快又好的免费电影网站?  网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?  公司网站的制作公司,企业网站制作基本流程有哪些?  如何用PHP快速搭建CMS系统?  高端网站建设与定制开发一站式解决方案 中企动力  建站之星代理商如何保障技术支持与售后服务?  已有域名能否直接搭建网站?  专业制作网站的公司哪家好,建立一个公司网站的费用.有哪些部分,分别要多少钱?  宁波免费建站如何选择可靠模板与平台?  深圳网站制作的公司有哪些,dido官方网站?  SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?  湖州网站制作公司有哪些,浙江中蓝新能源公司官网?  如何选择香港主机高效搭建外贸独立站?  建站主机服务器选购指南:轻量应用与VPS配置解析  *服务器网站为何频现安全漏洞?  专业网站建设制作报价,网页设计制作要考什么证?  如何实现建站之星域名转发设置? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。