📜  SymPy-绘图

📅  最后修改于: 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图

与2D图一样,三维图也可以具有多个图,每个图具有不同的范围。

>>> plot3d(x*y, x/y, (x, -5, 5), (y, -5, 5))

3维参数线图

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))

绘制3D参数曲面功能