SymPy - Plotagem
SymPy usa a biblioteca Matplotlib como backend para renderizar gráficos 2-D e 3-D de funções matemáticas. Certifique-se de que Matplotlib está disponível na instalação atual do Python. Caso contrário, instale o mesmo usando o seguinte comando -
pip install matplotlib
O suporte à plotagem é definido no módulo sympy.plotting. As seguintes funções estão presentes no módulo de plotagem -
plot - gráficos de linha 2D
plot3d - gráficos de linha 3D
plot_parametric - gráficos paramétricos 2D
plot3d_parametric - Gráficos paramétricos 3D
A função plot () retorna uma instância da classe Plot. Uma figura do gráfico pode ter uma ou mais expressões SymPy. Embora seja capaz de usar Matplotlib como back-end, outros back-ends, como texplot, pyglet ou API de gráficos do Google também podem ser usados.
plot(expr, range, kwargs)
onde expr é qualquer expressão SymPy válida. Se não for mencionado, o intervalo usa o padrão como (-10, 10).
O exemplo a seguir plota valores de x2 para cada valor no intervalo (-10,10) -
>>> from sympy.plotting import plot
>>> from sympy import *
>>> x=Symbol('x')
>>> plot(x**2, line_color='red')
Para desenhar vários gráficos para o mesmo intervalo, forneça várias expressões antes da tupla de intervalo.
>>> plot( sin(x),cos(x), (x, -pi, pi))
Você também pode especificar um intervalo separado para cada expressão.
plot((expr1, range1), (expr2, range2))
A figura a seguir plota sin (x) e cos (x) em intervalos diferentes.
>>> plot( (sin(x),(x, -2*pi, 2*pi)),(cos(x), (x, -pi, pi)))
Os seguintes argumentos opcionais de palavra-chave podem ser especificados na função plot ().
line_color - especifica a cor da linha do gráfico.
title - uma string a ser exibida como título
xlabel - uma string a ser exibida como rótulo para o eixo X
ylabel - uma string a ser exibida como rótulo para o eixo y
>>> plot( (sin(x),(x, -2*pi, 2*pi)),(cos(x), (x, -pi, pi)), line_color='red', title='SymPy plot example')
A função plot3d () renderiza um gráfico tridimensional.
plot3d(expr, xrange, yrange, kwargs)
O exemplo a seguir desenha um gráfico de superfície 3D -
>>> from sympy.plotting import plot3d
>>> x,y=symbols('x y')
>>> plot3d(x*y, (x, -10,10), (y, -10,10))
Como no gráfico 2D, um gráfico tridimensional também pode ter vários gráficos, cada um com alcance diferente.
>>> plot3d(x*y, x/y, (x, -5, 5), (y, -5, 5))
A função plot3d_parametric_line () renderiza um gráfico de linha paramétrica tridimensional.
>>> from sympy.plotting import plot3d_parametric_line
>>> plot3d_parametric_line(cos(x), sin(x), x, (x, -5, 5))
Para desenhar um gráfico de superfície paramétrico, use a função 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))