Python關於%matplotlib inline
%matplotlib inline
是一個魔法函數(Magic Functions)。官方給出的定義是:IPython有一組預先定義好的所謂的魔法函數(Magic Functions),你可以通過命令行的語法形式來訪問它們。可見“%matplotlib inline”就是模仿命令行來訪問magic函數的在IPython中獨有的形式。
magic函數分兩種:一種是面向行的,另一種是面向單元型的。
行magic函數是用前綴“%”標注的,很像我們在系統中使用命令行時的形式,例如在Mac中就是你的用戶名后面跟着“$”。“%”后面就是magic函數的參數了,但是它的參數是沒有被寫在括號或者引號中來傳值的。
單元型magic函數是由兩個“%%”做前綴的,它的參數不僅是當前“%%”行后面的內容,也包括了在當前行以下的行。
注意:既然是IPython的內置magic函數,那么在Pycharm中是不會支持的
%matplotlib作用
- 是在使用jupyter notebook 或者 jupyter qtconsole的時候,才會經常用到%matplotlib,也就是說那一份代碼可能就是別人使用jupyter notebook 或者 jupyter qtconsole進行編輯的。關於jupyter notebook是什么,可以參考這個鏈接:[Jupyter Notebook介紹、安裝及使用教程][1]
- 而%matplotlib具體作用是當你調用matplotlib.pyplot的繪圖函數plot()進行繪圖的時候,或者生成一個figure畫布的時候,可以直接在你的python console里面生成圖像
1 #內嵌畫圖 2 %matplotlib inline 3 import matplotlib # 注意這個也要import一次 4 import matplotlib.pyplot as plt 5 myfont = matplotlib.font_manager.FontProperties(fname=r'C:/Windows/Fonts/msyh.ttf') # 這一行 6 plt.plot((1,2,3),(4,3,-1)) 7 plt.xlabel(u'橫坐標', fontproperties=myfont) # 這一段 8 plt.ylabel(u'縱坐標', fontproperties=myfont) # 這一段 9 #plt.show() # 有了%matplotlib inline 就可以省掉plt.show()了