我们在使用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()了