- SymPy 教程
- SymPy - 首頁
- SymPy - 簡介
- SymPy - 安裝
- SymPy - 符號計算
- SymPy - 數字
- SymPy - 符號
- SymPy - 替換
- SymPy - sympify() 函式
- SymPy - evalf() 函式
- SymPy - Lambdify() 函式
- SymPy - 邏輯表示式
- SymPy - 查詢
- SymPy - 簡化
- SymPy - 導數
- SymPy - 積分
- SymPy - 矩陣
- SymPy - 函式類
- SymPy - 四元數
- SymPy - 求解器
- SymPy - 繪圖
- SymPy - 實體
- SymPy - 集合
- SymPy - 列印
- SymPy 有用資源
- SymPy - 快速指南
- SymPy - 有用資源
- SymPy - 討論
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')
要為相同範圍繪製多個圖形,請在範圍元組之前給出多個表示式。
>>> plot( sin(x),cos(x), (x, -pi, pi))
您還可以為每個表示式指定單獨的範圍。
plot((expr1, range1), (expr2, range2))
下圖在不同範圍內繪製了 sin(x) 和 cos(x)。
>>> plot( (sin(x),(x, -2*pi, 2*pi)),(cos(x), (x, -pi, pi)))
可以在 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')
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))
與二維圖形一樣,三維圖形也可以包含多個圖形,每個圖形具有不同的範圍。
>>> plot3d(x*y, x/y, (x, -5, 5), (y, -5, 5))
plot3d_parametric_line() 函式渲染三維引數線圖。
>>> from sympy.plotting import plot3d_parametric_line >>> plot3d_parametric_line(cos(x), sin(x), x, (x, -5, 5))
要繪製引數曲面圖,請使用 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))
廣告