Matplotlib中%matplotlib inline

我们在使用GitHub上的代码时,经常可以看到%matplotlib inline这一行,无论用哪个python的IDE如spyder或者pycharm,这个地方都会报错,显示是invalid syntax。

import tensorflow as tf
import numpy as np
import datetime
import matplotlib.pyplot as plt
%matplotlib inline

from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets("MNIST_data/")

关于Matplotlib中%matplotlib inline有如下需要了解的。

%matplotlib inline是一个魔法函数。官方给出的定义是:IPython有一组预先定义好的所谓的魔法函数,可以通过命令行的语法形式来访问它们。

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

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

单元型魔法函数是由两个“%%”做前缀的,它的参数不仅是当前“%%”行后面的内容,也包括在当前行以下的行。

用法

%matplotlib inline 可以在Ipython编译器比如jupyter notebook 或者 jupyter qtconsole里直接使用,功能是可以内嵌绘图,并且省略掉plt.show()。

但是我们在spyder或pycharm实际运行代码的时候,可以直接注释掉这一句。

#内嵌画图
%matplotlib inline
import matplotlib 
import matplotlib.pyplot as plt
'''
中间省去一些绘图指令


'''
#plt.show() # 有了%matplotlib inline 就可以省掉plt.show()了


 

你可能感兴趣的:(tensorflow实战)