Python 繪制你想要的數學函數圖形


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
效果如下:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM