解决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 相关文章推荐
wxPython窗口的继承机制实例分析
Sep 28 Python
python根据开头和结尾字符串获取中间字符串的方法
Mar 26 Python
Python数据分析之双色球基于线性回归算法预测下期中奖结果示例
Feb 08 Python
python实现数独游戏 java简单实现数独游戏
Mar 30 Python
Python实现爬取百度贴吧帖子所有楼层图片的爬虫示例
Apr 26 Python
pandas 对每一列数据进行标准化的方法
Jun 09 Python
解决python ogr shp字段写入中文乱码的问题
Dec 31 Python
python使用pip安装SciPy、SymPy、matplotlib教程
Nov 20 Python
python GUI库图形界面开发之PyQt5选项卡控件QTabWidget详细使用方法与实例
Mar 01 Python
Python常用扩展插件使用教程解析
Nov 02 Python
Pyqt5将多个类组合在一个界面显示的完整示例
Sep 04 Python
Python超详细分步解析随机漫步
Mar 17 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之Smarty入门
2007/01/04 PHP
php实现的获取网站备案信息查询代码(360)
2013/09/23 PHP
web server使用php生成web页面的三种方法总结
2013/10/28 PHP
详细解读PHP中接口的应用
2015/08/12 PHP
基于PHP实现用户在线状态检测
2020/11/10 PHP
Stop SQL Server
2007/06/21 Javascript
javascript中获取下个月一号,是星期几
2012/06/01 Javascript
js 获取(接收)地址栏参数值的方法
2013/04/01 Javascript
js二维数组排序的简单示例代码
2014/01/24 Javascript
原生javascript实现addClass,removeClass,hasClass函数
2016/02/25 Javascript
JavaScrpt中如何使用 cookie 设置查看与删除功能
2017/07/09 Javascript
微信小程序实现图片上传放大预览删除代码
2020/06/28 Javascript
详解Vue.js iview实现树形权限表(可扩展表)
2018/09/30 Javascript
JS实现十分钟倒计时代码实例
2018/10/18 Javascript
vue实现微信分享功能
2018/11/28 Javascript
JS实现贪吃蛇游戏
2019/11/15 Javascript
vue-列表下详情的展开与折叠案例
2020/07/28 Javascript
vue 判断两个时间插件结束时间必选大于开始时间的代码
2020/11/04 Javascript
如何将Node.js中的回调转换为Promise
2020/11/10 Javascript
[51:53]完美世界DOTA2联赛决赛日 Inki vs LBZS 第二场 11.08
2020/11/10 DOTA
Python 3.x 安装opencv+opencv_contrib的操作方法
2018/04/02 Python
Python 打印中文字符的三种方法
2018/08/14 Python
解决安装pyqt5之后无法打开spyder的问题
2019/12/13 Python
Python全面分析系统的时域特性和频率域特性
2020/02/26 Python
Python嵌入C/C++进行开发详解
2020/06/09 Python
Android Q之气泡弹窗的实现示例
2020/06/23 Python
用CSS3的box-reflect来制作倒影效果
2016/11/15 HTML / CSS
大学生毕业自我鉴定
2013/11/06 职场文书
数控专业推荐信范文
2013/12/02 职场文书
学习党章思想汇报
2014/01/07 职场文书
副厂长岗位职责
2014/02/02 职场文书
国培教师自我鉴定
2014/02/12 职场文书
2015年会计个人工作总结
2015/04/02 职场文书
上市公司财务总监岗位职责
2015/04/03 职场文书
如何打开Win11系统注册表编辑器?Win11注册表编辑器打开修复方法
2022/04/05 数码科技
使用python绘制分组对比柱状图
2022/04/21 Python