
- 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 库作为后端来渲染数学函数的 2-D 和 3-D 图。确保 Matplotlib 在当前的 Python 安装中可用。如果没有,请使用以下命令安装相同的 -
pip install matplotlib
绘图支持在 sympy.plotting 模块中定义。绘图模块中存在以下功能 -
绘图- 二维线图
plot3d - 3D 线图
plot_parametric - 2D 参数图
plot3d_parametric - 3D 参数图
plot() 函数返回 Plot 类的实例。绘图可能有一个或多个 SymPy 表达式。虽然它能够使用 Matplotlib 作为后端,但也可以使用其他后端,例如 texplot、pyglet 或 Google 图表 API。
plot(expr, range, kwargs)
其中 expr 是任何有效的 symPy 表达式。如果没有提及,范围使用默认值(-10, 10)。
以下示例绘制了范围 (-10,10) 中每个值的 x2 值 -
>>> 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)
以下示例绘制了 3D 曲面图 -
>>> from sympy.plotting import plot3d >>> x,y=symbols('x y') >>> plot3d(x*y, (x, -10,10), (y, -10,10))

与 2D 绘图一样,三维绘图也可以有多个绘图,每个绘图具有不同的范围。
>>> plot3d(x*y, x/y, (x, -5, 5), (y, -5, 5))

plot3d_parametric_line() 函数渲染 3 维参数线图。
>>> 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))
