1. 程式人生 > 程式設計 >在Python中畫圖(基於Jupyter notebook的魔法函式)

在Python中畫圖(基於Jupyter notebook的魔法函式)

這篇文章主要介紹了在Python中畫圖(基於Jupyter notebook的魔法函式),文中通過示例程式碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

先展示一段相關的程式碼:

#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的,學機器學習用個簡單的圖就夠了。這個模組只能畫二維圖,三維需要使用其他的方法

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。