jupyter(ipython)内嵌问题:%pylab inline的使用

jupyter内嵌问题,%pylab inline的使用


在使用jupyter(ipython新版本)的画图的过程中遇到了一个有关内嵌命令的问题,将其记录如下:

1、案例描述

一个超级简单的画图程序,因为jupyter是一个C/S分布式的python编辑环境,是一个基于客户端web页面的在线编辑器,你可以在浏览器中输入服务器的ip地址及jupyter的端口号(默认为8888),也可以自己的本机做服务器(地址为http://localhost:8888)

未修改的代码如下:

%matplotlib inline
import numpy as np  
import matplotlib.pyplot as plt  

#以自然数序列作为多项式的系数,使用polyld函数创建多项式  
func = np.poly1d(np.array([1,2,3,4]).astype(float))  
print func
#使用Numpy的linspace函数创建X轴的数值,在-10和10之间产生30个均匀分布的值  
x=np.linspace(-10,10,30)  
#计算我们在第一步中创建的多项式的值  
y=func(x)  

plt.plot(x,y)  
plt.xlabel('x',fontsize=12)   
plt.ylabel('y(x)',fontsize=12)   
plt.show()


2、报错:

jupyter(ipython)内嵌问题:%pylab inline的使用_第1张图片

错误提示:ImportError: libXext.so.6: cannot open shared object file: No such file or directory

一开始以为是没有安装PyQt4的错(虽然我的确没有安装该模块)。
但是仔细看了下很长的错误提示后发现是pylab没有内嵌进去。于是在开头部分内嵌进去即可。修改后的代码如下:


3、解决方案

在代码的第一行加上%pylab inline

#在开头添加pylab的内嵌语句,pylab是 Matplotlib 和Ipython提供的一个模块,提供了类似Matlab的语法。
%pylab inline
%matplotlib inline
import numpy as np  
import matplotlib.pyplot as plt  

#以自然数序列作为多项式的系数,使用polyld函数创建多项式  
func = np.poly1d(np.array([1,2,3,4]).astype(float))  
print func
#使用Numpy的linspace函数创建X轴的数值,在-10和10之间产生30个均匀分布的值  
x=np.linspace(-10,10,30)  
#计算我们在第一步中创建的多项式的值  
y=func(x)  

plt.plot(x,y)  
plt.xlabel('x',fontsize=12)   
plt.ylabel('y(x)',fontsize=12)   
plt.show()

%pylab inline之后可正确运行出结果:

jupyter(ipython)内嵌问题:%pylab inline的使用_第2张图片

你可能感兴趣的:(Python,jupyter,python,ipython,pylab,内嵌命令)