解决Matplotlib图表不能在Pycharm中显示的问题


Posted in Python onMay 24, 2018

初学者可能都会遇到一个小问题就是:在用IPython的时候,可以使用类似

%matplotlib inline

的Magic Function(魔法函数)来显示Matplotlib图表,但是用Pycharm编写项目的时候是不能写magic函数的,会出现编译错误:

解决Matplotlib图表不能在Pycharm中显示的问题

但是不加这行,运行后,Matplotlib图表就不会正常显示。程序运行后也不会报错,只会在控制台输出:

Process finished with exit code 0

后了事。

因此,我们的关注点似乎要移动到Magic Function身上了,什么是Magic函数呢?

官方给出的定义是:IPython有一组预先定义好的所谓的魔法函数(Magic Functions),你可以通过命令行的语法形式来访问它们。可见“%matplotlib inline”就是模仿命令行来访问magic函数的在IPython中独有的形式。

magic函数分两种:一种是面向行的,另一种是面向单元型的。

行magic函数是用前缀“%”标注的,很像我们在系统中使用命令行时的形式,例如在Mac中就是你的用户名后面跟着“$”。“%”后面就是magic函数的参数了,但是它的参数是没有被写在括号或者引号中来传值的。

单元型magic函数是由两个“%%”做前缀的,它的参数不仅是当前“%%”行后面的内容,也包括了在当前行以下的行。比如:计算代码执行时间的timeit函数,我们可以这样写

In [2]: %%timeit x = range(10000)
 ...: min(x)
1000 loops, best of 3: 223 us per loop

既然是IPython的内置magic函数,那么在Pycharm中是不会支持的。但是我们可以在matplotlib中的pyplot身上下功夫,pyplot不会不提供展示图像的功能。

所以代码可以这样写:

import numpy as np
from matplotlib import pyplot as plt

from skimage import data

random_image = np.random.random([500, 500])
print(random_image)
plt.imshow(random_image, cmap='gray')
plt.colorbar()
plt.show()

最后加入了plt.show(),这样就可以将我们生成的图像显示出来了。

另外,IPython的内置magic函数包括三种:

1. 伴随你的代码使用的函数:%run, %edit, %save, %macro, %recall等;

2. 可以影响到脚本本身的函数:%colors, %xmode, %autoindent, %automagic等;

3. 其他的函数: %reset, %timeit, %%writefile, %load, %paste。

谢谢大家能看到这里。

以上这篇解决Matplotlib图表不能在Pycharm中显示的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python使用正则表达式提取网页URL的方法
May 26 Python
Python求两个文本文件以行为单位的交集、并集与差集的方法
Jun 17 Python
Flask框架的学习指南之制作简单blog系统
Nov 20 Python
python3.6使用pymysql连接Mysql数据库
May 25 Python
Python实现通过继承覆盖方法示例
Jul 02 Python
详解python selenium 爬取网易云音乐歌单名
Mar 28 Python
python实战串口助手_解决8串口多个发送的问题
Jun 12 Python
keras 使用Lambda 快速新建层 添加多个参数操作
Jun 10 Python
python实现感知机模型的示例
Sep 30 Python
python利用 keyboard 库记录键盘事件
Oct 16 Python
python中编写函数并调用的知识点总结
Jan 13 Python
Python数据分析之pandas函数详解
Apr 21 Python
Python系统监控模块psutil功能与经典用法分析
May 24 #Python
详解Django rest_framework实现RESTful API
May 24 #Python
matplotlib.pyplot画图 图片的二进制流的获取方法
May 24 #Python
matplotlib 输出保存指定尺寸的图片方法
May 24 #Python
Python简单获取网卡名称及其IP地址的方法【基于psutil模块】
May 24 #Python
在Django中输出matplotlib生成的图片方法
May 24 #Python
详解Pytorch 使用Pytorch拟合多项式(多项式回归)
May 24 #Python
You might like
PHP setcookie设置Cookie用法(及设置无效的问题)
2011/07/13 PHP
php 带逗号千位符数字的处理方法
2012/01/10 PHP
PHP调用MsSQL Server 2012存储过程获取多结果集(包含output参数)的详解
2013/07/03 PHP
解决css和js的{}与smarty定界符冲突问题的两种方法
2013/09/10 Javascript
jQuery学习笔记之总体架构
2014/06/03 Javascript
Nodejs中自定义事件实例
2014/06/20 NodeJs
jQuery中hasClass()方法用法实例
2015/01/06 Javascript
javascript跨域原因以及解决方案分享
2015/04/08 Javascript
Javascript中的作用域和上下文深入理解
2015/07/03 Javascript
js实现接收表单的值并将值拼在表单action后面的方法
2015/11/23 Javascript
javascript基于prototype实现类似OOP继承的方法
2015/12/16 Javascript
Angularjs手动解析表达式($parse)
2016/10/12 Javascript
JavaScript基于Dom操作实现查找、修改HTML元素的内容及属性的方法
2017/01/20 Javascript
AngularJS constant和value区别详解
2017/02/28 Javascript
Ionic3 UI组件之Gallery Modal详解
2017/06/07 Javascript
详解微信小程序 登录获取unionid
2017/06/27 Javascript
微信小程序中this.data与this.setData的区别详解
2018/09/17 Javascript
如何通过setTimeout理解JS运行机制详解
2019/03/23 Javascript
浅谈JavaScript闭包
2019/04/09 Javascript
jQuery cookie的公共方法封装和使用示例
2020/06/01 jQuery
python中getattr函数使用方法 getattr实现工厂模式
2014/01/20 Python
Python json 错误xx is not JSON serializable解决办法
2017/03/15 Python
python3.7.0的安装步骤
2018/08/27 Python
python web框架 django wsgi原理解析
2019/08/20 Python
Python代码覆盖率统计工具coverage.py用法详解
2020/11/25 Python
python进行二次方程式计算的实例讲解
2020/12/06 Python
HTML5新增的8类INPUT输入类型介绍
2015/07/06 HTML / CSS
澳大利亚优惠网站:Deals.com.au
2019/07/02 全球购物
空字符串(“”)和null的区别
2012/11/13 面试题
尽职尽责村干部自我鉴定
2014/01/23 职场文书
超市促销活动方案
2014/03/05 职场文书
旅行社各个岗位职责
2014/03/15 职场文书
学员自我鉴定
2014/03/19 职场文书
党员民主生活会个人整改措施材料
2014/09/16 职场文书
三八妇女节寄语
2015/02/27 职场文书
2015年度物业公司工作总结
2015/04/27 职场文书