![](/img/trans.png)
[英]TypeError: Object of type TypeError is not JSON serializable Python
[英]TypeError: Object of type 'Add' is not JSON serializable - Python Graph
我正在尝试创建函数的切线近似。 但是,试图找到一种将其绘制在图形顶部的方法。 这两个函数都可以工作,但是当我绘制函数图时,出现了类型错误“'Add' 类型的对象不是 JSON 可序列化的”
x = sp.Symbol("x")
y = sp.Symbol("y")
f = 1*(np.e**(-2*(((x**2 + y**2)**(1/2))-1))-2*np.e**(-1*(((x**2 + y**2)**(1/2))-1)))
fx = f.diff(x)
fy = f.diff(y)
x = np.linspace(-5,5,50)
y = np.linspace(-5,5,50)
[xx,yy] = np.meshgrid(x,y)
ff = 1*(np.e**(-2*(((xx**2 + yy**2)**(1/2))-1))-2*np.e**(-1*(((xx**2 + yy**2)**
(1/2))-1)))
uu = f.subs(x,2).subs(y,2) + fx.subs(x,2).subs(y,2)*(xx) + fy.subs(x,2).subs(y,2)*(yy)
import plotly.graph_objects as go
fig = go.Figure(data=[go.Surface(x=xx,y=yy,z=uu),go.Surface(x=xx,y=yy,z=ff)])
fig.show()
错误发生在最后一行代码上。
该问题与您的系数( f.subs(x,2).subs(y,2)
、 fx.subs(x,2).subs(y,2)
和fy.subs(x,2).subs(y,2)
)。 系数的类型为<class 'sympy.core.numbers.Float'>
,这与 numpy 数组的计算不兼容。 您可以使用float()
命令转换系数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.