sympy 函数图下方的颜色区域
Color area beneath sympy function plot
我有一个 sympy 函数,我想绘制它并为曲线下方的区域着色,我该怎么做?
代码
import sympy as sy
x = sy.symbols('x')
f = sy.sin(x)
sy.plot(f, (x, 0, sy.pi))
情节
之前可以使用plt.fill_between
(documentation) but you need to convert your sympy
function in a numpy
array with sy.lambdify
(documentation),因为plt.fill_between
接受数组。
检查此代码作为参考:
import sympy as sy
import numpy as np
import matplotlib.pyplot as 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()
我在不直接使用 matplotlib 的情况下创建了相同的输出(sympy 已经使用了 sympy)
import sympy as sy
import numpy as np
from sympy.plotting import 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'})
我得到了输出
我有一个 sympy 函数,我想绘制它并为曲线下方的区域着色,我该怎么做?
代码
import sympy as sy
x = sy.symbols('x')
f = sy.sin(x)
sy.plot(f, (x, 0, sy.pi))
情节
之前可以使用plt.fill_between
(documentation) but you need to convert your sympy
function in a numpy
array with sy.lambdify
(documentation),因为plt.fill_between
接受数组。
检查此代码作为参考:
import sympy as sy
import numpy as np
import matplotlib.pyplot as 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()
我在不直接使用 matplotlib 的情况下创建了相同的输出(sympy 已经使用了 sympy)
import sympy as sy
import numpy as np
from sympy.plotting import 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'})
我得到了输出