Python 非常熱門,但除非工作需要沒有刻意去了解更多,直到有個函數圖要繪制,想起了它。結果發現,完全用不着明白什么是編程,就可以使用它完成很多數學函數圖的繪制。
通過以下兩個步驟,就可以進行數學函數的繪制了。
兩個步驟
(1)安裝 Anaconda
Anaconda 包含了 Python 的運行環境、諸多科學計算庫以及好些實用工具,安裝它,有當前所需的一切。看它們的翻譯,的確也是同類。
下載地址:https://www.anaconda.com/distribution/
直接運行安裝即可,有點大。
(2)編織代碼運行
運行 Anaconda Navigator,打開界面中的 Spyder,如下圖:
進入編輯界面,我們以一個最簡單的 y = x 函數為例輸入以下代碼:
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(1, 10, 1000)
y = x
plt.plot(x,y,'r',linewidth=2)
運行它就能看到已經有我們想要的結果。
關鍵解析
這幾行代碼中,前兩行是引入相應的功能庫,Anaconda 已經包含了這些庫,復制代碼上去即可。最后一行是執行繪制。所以關鍵的代碼以下兩行。
x = np.linspace(1, 10, 1000)
y = x
而第一行指明的是 x 的取值范圍,x = np.linspace(1, 10, 1000)表示 x 的取值范圍為 1 至 10,后邊那個 1000 指的是細粒度,線是由點構成的,但點是無窮的,我們通過有限的點形成線,理論上點定義得越細線越精確。
則我們只剩下第二行 y = x 的函數部分了,對於 y = f(x) 的函數,僅此一處寫函數即可。試試:
y = np.sin(x)
是不是完全只需要關心數據函數,如果你需要的就是這些,至此就可以了。
更多控制
若需要進一步的對坐標進行修飾,設置坐標軸標簽,精准刻度等,可以參考:
https://www.jianshu.com/p/78ba36dddad8
更多庫功能:
numpy 庫基礎信息可參考:https://www.numpy.org/devdocs/user/basics.html
matplotlib.pyplot 庫操作可參考: https://matplotlib.org/api/pyplot_api.html
不得不提
Anoconda 除了提供 Spyder 編輯工具,還提供 Jupyter notebook 工具,即所謂有文學編程工具(左手程序員,右手作家),了解它可參閱此文章:http://python.jobbole.com/87527/?repeat=w3tc
以下為本文介紹的幾個函數通過 Jupyter notebook 形成文檔的一個示例:
http://www.timeddd.com/sample/drawfunc.html
效果如下: