📅  最后修改于: 2020-11-05 04:47:06             🧑  作者: Mango
SymPy使用Matplotlib库作为后端来渲染2D和3D数学函数图。确保Matplotlib在当前的Python安装中可用。如果没有,请使用以下命令安装相同的文件-
pip install matplotlib
绘图支持在sympy.plotting模块中定义。以下功能存在于绘图模块中-
图-2D线图
plot3d -3D线图
plot_parametric -2D参数图
plot3d_parametric -3D参数图
plot()函数返回Plot类的实例。绘图可能具有一个或多个SymPy表达式。尽管它可以将Matplotlib用作后端,但也可以使用其他后端,例如texplot,pyglet或Google Charts 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))