SymPy - 繪圖



SymPy 使用 Matplotlib 庫作為後端來渲染數學函式的二維和三維圖形。確保當前 Python 安裝中可用 Matplotlib。如果不可用,請使用以下命令安裝:

pip install matplotlib

繪圖支援定義在 sympy.plotting 模組中。繪圖模組中包含以下函式:

  • plot − 二維線圖

  • plot3d − 三維線圖

  • plot_parametric − 二維引數圖

  • plot3d_parametric − 三維引數圖

plot() 函式返回 Plot 類的例項。一個繪圖圖形可以包含一個或多個 SymPy 表示式。雖然它能夠使用 Matplotlib 作為後端,但也可能使用其他後端,例如 texplot、pyglet 或 Google 圖表 API。

plot(expr, range, kwargs)

其中 expr 是任何有效的 SymPy 表示式。如果未提及,範圍使用預設值 (-10, 10)。

以下示例繪製了範圍 (-10, 10) 中每個值的 x² 值:

>>> from sympy.plotting import plot 
>>> from sympy import * 
>>> x=Symbol('x') 
>>> plot(x**2, line_color='red')
Range Tuple

要為相同範圍繪製多個圖形,請在範圍元組之前給出多個表示式。

>>> plot( sin(x),cos(x), (x, -pi, pi))
Separate Range

您還可以為每個表示式指定單獨的範圍。

plot((expr1, range1), (expr2, range2))

下圖在不同範圍內繪製了 sin(x) 和 cos(x)。

>>> plot( (sin(x),(x, -2*pi, 2*pi)),(cos(x), (x, -pi, pi)))
Plot Function

可以在 plot() 函式中指定以下可選關鍵字引數。

  • line_color − 指定繪圖線的顏色。

  • title − 要顯示為標題的字串

  • xlabel − 要顯示為 X 軸標籤的字串

  • ylabel − 要顯示為 y 軸標籤的字串

>>> plot( (sin(x),(x, -2*pi, 2*pi)),(cos(x), (x, -pi, pi)), line_color='red', title='SymPy plot example')
Three Dimensional Plot

plot3d() 函式渲染三維圖形。

plot3d(expr, xrange, yrange, kwargs)

以下示例繪製三維曲面圖:

>>> from sympy.plotting import plot3d 
>>> x,y=symbols('x y') 
>>> plot3d(x*y, (x, -10,10), (y, -10,10))
2D Plot

與二維圖形一樣,三維圖形也可以包含多個圖形,每個圖形具有不同的範圍。

>>> plot3d(x*y, x/y, (x, -5, 5), (y, -5, 5))
3 Dimensional Parametric Line Plot

plot3d_parametric_line() 函式渲染三維引數線圖。

>>> from sympy.plotting import plot3d_parametric_line 
>>> plot3d_parametric_line(cos(x), sin(x), x, (x, -5, 5))
Parametric Surface Plot

要繪製引數曲面圖,請使用 plot3d_parametric_surface() 函式。

plot3d_parametric_surface(xexpr, yexpr, zexpr, rangex, rangey, kwargs)

>>> from sympy.plotting import plot3d_parametric_surface 
>>> plot3d_parametric_surface(cos(x+y), sin(x-y), x-y, (x, -5, 5), (y, -5, 5))
Plot 3D Parametric Surface Function
廣告
© . All rights reserved.