如何在Python中快速画图——使用Jupyter notebook的魔法函数(magic function)matplotlib inline

Posted 别再闹了

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Python中快速画图——使用Jupyter notebook的魔法函数(magic function)matplotlib inline相关的知识,希望对你有一定的参考价值。

如何在Python中快速画图——使用Jupyter notebook的魔法函数(magic function)matplotlib inline

先展示一段相关的代码:

#we test the accuracy of knn and find the k which makes the biggest accuracy
k_range=list(range(1,26))#[1,25]
scores=[]
for k in k_range:
    knn=KNeighborsClassifier(n_neighbors=k)
    knn.fit(X_train,y_train)
    y_pred=knn.predict(X_test)
    scores.append(metrics.accuracy_score(y_test,y_pred))
#------------ prepare the data we need to plot-------------------
#we draw a graph to show the result
import matplotlib.pyplot as plt
#a magic function,which allows polts to appear whitin the notebook
%matplotlib inline
plt.plot(k_range,scores)
plt.xlabel('Value of K for KNN')
plt.ylabel('Testing Accuracy')

什么是魔法函数呢(magic function)?

%matplotlib inline是一个魔法函数(Magic Functions)。官方给出的定义是:IPython有一组预先定义好的所谓的魔法函数(Magic Functions),你可以通过命令行的语法形式来访问它们。可见“%matplotlib inline”就是模仿命令行来访问magic函数的在IPython中独有的形式。magic函数分两种:一种是面向行的,另一种是面向单元型的。行magic函数是用前缀“%”标注的,很像我们在系统中使用命令行时的形式,例如在Mac中就是你的用户名后面跟着“$”。“%”后面就是magic函数的参数了,但是它的参数是没有被写在括号或者引号中来传值的。单元型magic函数是由两个“%%”做前缀的,它的参数不仅是当前“%%”行后面的内容,也包括了在当前行以下的行。注意:既然是IPython的内置magic函数,那么在Pycharm中是不会支持的。
总结:%matplotlib inline 可以在Ipython编译器里直接使用,功能是可以内嵌绘图,并且可以省略掉plt.show()这一步。

由此可见,这是只有在jupyter notebook中才能使用的方法,不过确实是方便,只需要把两个维度的数据传进去就完了,封装的可以说是相当彻底了

不是做Python的,学机器学习用个简单的图就够了。这个模块只能画二维图,三维需要使用其他的方法

以上是关于如何在Python中快速画图——使用Jupyter notebook的魔法函数(magic function)matplotlib inline的主要内容,如果未能解决你的问题,请参考以下文章

如何像菜鸡作者一样零基础在Ubuntu中快速部署属于自己的Jupyter Notebook

jupyter(ipython notebook) 安装和入门教程

如何使用迅捷画图快速绘制流程图

Python画图

用Jupyter Notebook画图为啥不显示图像直接到笔记本的out中

用Jupyter Notebook画图为啥不显示图像直接到笔记本的out中