解决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 实现归并排序算法
Jun 05 Python
python调用windows api锁定计算机示例
Apr 17 Python
Python实现的最近最少使用算法
Jul 10 Python
通过Python爬虫代理IP快速增加博客阅读量
Dec 14 Python
pandas Dataframe行列读取的实例
Jun 08 Python
深入了解和应用Python 装饰器 @decorator
Apr 02 Python
对Python的交互模式和直接运行.py文件的区别详解
Jun 29 Python
python软件都是免费的吗
Jun 18 Python
零基础学python应该从哪里入手
Aug 11 Python
10款最佳Python开发工具推荐,每一款都是神器
Oct 15 Python
使用Python制作一盏 3D 花灯喜迎元宵佳节
Feb 26 Python
详解Python生成器和基于生成器的协程
Jun 03 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中看实例学正则表达式
2006/12/25 PHP
php编写一个简单的路由类
2011/04/13 PHP
php过滤html中的其他网站链接的方法(域名白名单功能)
2014/04/24 PHP
php生成shtml类用法实例
2014/12/09 PHP
PHP自定义函数实现格式化秒的方法
2016/09/14 PHP
php基于dom实现读取图书xml格式数据的方法
2017/02/03 PHP
详解Yii2.0使用AR联表查询实例
2017/06/16 PHP
基于jquery实现后台左侧菜单点击上下滑动显示
2013/04/11 Javascript
jQuery实现长文字部分显示代码
2013/05/13 Javascript
全面解析Bootstrap表单使用方法(表单控件状态)
2015/11/24 Javascript
AngularJS 使用 UI Router 实现表单向导
2016/01/29 Javascript
基于es6三点运算符的使用方法(实例讲解)
2017/10/12 Javascript
js 将canvas生成图片保存,或直接保存一张图片的实现方法
2018/01/02 Javascript
vue 页面加载进度条组件实例
2018/02/05 Javascript
Vue.js 中的 v-show 指令及用法详解
2018/11/19 Javascript
vue 组件销毁并重置的实现
2020/01/13 Javascript
Vue-resource安装过程及使用方法解析
2020/07/21 Javascript
浅析JavaScript中的事件委托机制跟深浅拷贝
2021/01/20 Javascript
解决pycharm无法调用pip安装的包问题
2018/05/18 Python
java判断三位数的实例讲解
2019/06/10 Python
深入了解Python在HDA中的应用
2019/09/05 Python
浅谈pycharm使用及设置方法
2019/09/09 Python
Windows系统下pycharm中的pip换源
2020/02/23 Python
ASOS比利时:英国线上零售商及自有品牌
2018/07/29 全球购物
纬创Java面试题笔试题
2014/10/02 面试题
一些Solaris面试题
2013/03/22 面试题
Why we need EJB
2016/10/20 面试题
普通院校学生的自荐信
2013/11/27 职场文书
小学生家长评语集锦
2014/01/30 职场文书
采购经理岗位职责
2014/02/16 职场文书
婚假请假条怎么写
2014/04/10 职场文书
英文求职信范文
2014/05/23 职场文书
学校党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
党员自我剖析材料范文
2014/10/06 职场文书
餐饮服务员岗位职责
2015/02/09 职场文书
标准演讲稿格式结尾应该怎么书写?
2019/07/17 职场文书