解决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使用urllib2模块获取gravatar头像实例
Dec 18 Python
Python ValueError: invalid literal for int() with base 10 实用解决方法
Jun 21 Python
python实现的多线程端口扫描功能示例
Jan 21 Python
利用python微信库itchat实现微信自动回复功能
May 18 Python
Python如何通过subprocess调用adb命令详解
Aug 27 Python
Python3 实现随机生成一组不重复数并按行写入文件
Apr 09 Python
Python爬虫文件下载图文教程
Dec 23 Python
Python 操作mysql数据库查询之fetchone(), fetchmany(), fetchall()用法示例
Oct 17 Python
基于python的itchat库实现微信聊天机器人(推荐)
Oct 29 Python
详解Python3 中的字符串格式化语法
Jan 15 Python
Python更换pip源方法过程解析
May 19 Python
python创建字典及相关管理操作
Apr 13 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
基于mysql的bbs设计(三)
2006/10/09 PHP
比较全的PHP 会话(session 时间设定)使用入门代码
2008/06/05 PHP
php中__toString()方法用法示例
2016/12/07 PHP
完美解决thinkphp唯一索引重复时出错的问题
2017/03/31 PHP
Laravel框架实现多数据库连接操作详解
2019/07/12 PHP
Array对象方法参考
2006/10/03 Javascript
jquery内置验证(validate)使用方法示例(表单验证)
2013/12/04 Javascript
vue v-model表单控件绑定详解
2017/05/17 Javascript
BootStrap表单控件之复选框checkbox和单选择按钮radio
2017/05/23 Javascript
微信小程序之发送短信倒计时功能
2017/08/30 Javascript
es6中的解构赋值、扩展运算符和rest参数使用详解
2017/09/28 Javascript
微信小程序自定义音乐进度条的实例代码
2018/08/28 Javascript
layui异步加载table表中某一列数据的例子
2019/09/16 Javascript
高性能js数组去重(12种方法,史上最全)
2019/12/21 Javascript
在vue中动态修改css其中一个属性值操作
2020/12/07 Vue.js
[28:07]完美世界DOTA2联赛PWL S3 Phoenix vs INK ICE 第二场 12.13
2020/12/17 DOTA
Python functools模块学习总结
2015/05/09 Python
Python3使用requests包抓取并保存网页源码的方法
2016/03/15 Python
Python爬虫DNS解析缓存方法实例分析
2017/06/02 Python
Python实现的购物车功能示例
2018/02/11 Python
python selenium 对浏览器标签页进行关闭和切换的方法
2018/05/21 Python
python+selenium打印当前页面的titl和url方法
2018/06/22 Python
windows10下安装TensorFlow Object Detection API的步骤
2019/06/13 Python
如何使用Python标准库进行性能测试
2019/06/25 Python
使用 Supervisor 监控 Python3 进程方式
2019/12/05 Python
Mankind美国/加拿大:英国领先的男士美容护发用品公司
2018/12/05 全球购物
采购文员岗位职责
2013/11/20 职场文书
生物学学生自我评价
2014/01/17 职场文书
初中三好学生自我鉴定
2014/04/07 职场文书
企业精神口号
2014/06/11 职场文书
公司周年庆活动方案
2014/08/25 职场文书
2014年新教师工作总结
2014/11/08 职场文书
2014年乡镇纪委工作总结
2014/12/19 职场文书
企业法人任命书
2015/09/21 职场文书
2017寒假社会实践心得体会范文
2016/01/14 职场文书
「地球外少年少女」BD发售宣传CM公开
2022/03/21 日漫