解决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数据结构与算法之完全树与最小堆实例
Dec 13 Python
Python3.x爬虫下载网页图片的实例讲解
May 22 Python
如何利用Python模拟GitHub登录详解
Jul 15 Python
django表单的Widgets使用详解
Jul 22 Python
Python如何实现动态数组
Nov 02 Python
python接口自动化如何封装获取常量的类
Dec 24 Python
pytorch程序异常后删除占用的显存操作
Jan 13 Python
如何基于python实现不邻接植花
May 01 Python
keras实现基于孪生网络的图片相似度计算方式
Jun 11 Python
Python 连接 MySQL 的几种方法
Sep 09 Python
关于python中导入文件到list的问题
Oct 31 Python
python中数组和列表的简单实例
Mar 25 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应用JSON技巧讲解
2013/02/03 PHP
利用php递归实现无限分类 格式化数组的详解
2013/06/08 PHP
PHP实现的英文名字全拼随机排号脚本
2014/07/04 PHP
基于 Swoole 的微信扫码登录功能实现代码
2018/01/15 PHP
jQuery EasyUI API 中文文档 - ValidateBox验证框
2011/10/06 Javascript
JQuery入门——事件切换之toggle()方法应用介绍
2013/02/05 Javascript
jquery动态加载js三种方法实例
2013/08/03 Javascript
jquery事件重复绑定的快速解决方法
2014/01/03 Javascript
JavaScript通过join函数连接数组里所有元素的方法
2015/03/20 Javascript
jQuery使用serialize()表单序列化时出现中文乱码问题的解决办法
2016/07/27 Javascript
Bootstrap基本布局实现方法详解
2016/11/25 Javascript
JS实现的随机排序功能算法示例
2017/06/09 Javascript
js异步编程小技巧详解
2017/08/14 Javascript
taro开发微信小程序的实践
2019/05/21 Javascript
JS数组的常用10种方法详解
2020/05/08 Javascript
Openlayers绘制聚合标注
2020/09/28 Javascript
为Python的web框架编写前端模版的教程
2015/04/30 Python
Python实现简单的代理服务器
2015/07/25 Python
Python unittest 简单实现参数化的方法
2018/11/30 Python
pyqt远程批量执行Linux命令程序的方法
2019/02/14 Python
python tkinter图形界面代码统计工具(更新)
2019/09/18 Python
python实现文件批量编码转换及注意事项
2019/10/14 Python
Python实现RGB与HSI颜色空间的互换方式
2019/11/27 Python
windows下的pycharm安装及其设置中文菜单
2020/04/23 Python
django 解决自定义序列化返回处理数据为null的问题
2020/05/20 Python
HTML5边玩边学(3)像素和颜色
2010/09/21 HTML / CSS
劳力士官方珠宝商:J.R. Dunn Jewelers
2018/09/29 全球购物
苹果台湾官网:Apple台湾
2019/01/05 全球购物
材料物理专业大学毕业生求职信
2013/10/15 职场文书
普通院校学生的自荐信
2013/11/27 职场文书
自荐书格式
2013/12/01 职场文书
酒店管理毕业生自我鉴定
2014/03/02 职场文书
数学教育专业求职信
2014/07/22 职场文书
学习党的群众路线教育实践活动心得体会范文
2014/11/03 职场文书
先进个人总结范文
2015/02/15 职场文书
社区志愿服务活动感想
2015/08/07 职场文书