Color Area Beneath Sympy Function Plot
I have a sympy function, I want to plot it and color the area beneath the curve, how can I do it? Code import sympy as sy x = sy.symbols('x') f = sy.sin(x) sy.plot(f, (x, 0, sy.p
Solution 1:
You can use plt.fill_between
(documentation) but you need to convert your sympy
function in a numpy
array with sy.lambdify
(documentation) before, because plt.fill_between
takes in arrays.
Check this code as a reference:
import sympy as sy
import numpy as np
import matplotlib.pyplotas plt
x = sy.symbols('x')
f = sy.sin(x)
x_array = np.linspace(0, np.pi, 1000)
f_array = sy.lambdify(x, f)(x_array)
fig, ax = plt.subplots()
ax.plot(x_array, f_array, color = 'red')
ax.fill_between(x_array, f_array, facecolor = 'red', alpha = 0.3)
plt.show()
Solution 2:
i have created the same output without using matplotlib directly(sympy already uses sympy)
import sympy as sy
import numpy as np
from sympy.plottingimport plot
x = sy.symbols('x')
f = sy.sin(x)
x_array = np.linspace(0, np.pi, 1000)
f_array = sy.lambdify(x, f)(x_array)
plot(f, (x, 0, sy.pi), fill={'x': x_array,'y1':f_array,'color':'green'})
Post a Comment for "Color Area Beneath Sympy Function Plot"