要在单个图中使用Plotly绘制多个常微分方程(ODE)的多个图,首先安装Plotly并导入所需的库:
pip install plotly
然后,编写一个Python脚本来绘制多个ODE曲线:
import numpy as np
import plotly.graph_objects as go
from scipy.integrate import odeint
# 定义多个ODE函数
def ode1(y, t):
return -2 * y
def ode2(y, t):
return y - t**2
# 定义初始条件
initial_conditions = [1.0, 2.0]
# 定义时间范围
t_span = (0, 5)
t_eval = np.linspace(*t_span, 100)
# 解多个ODE
solutions1 = odeint(ode1, initial_conditions[0], t_eval)
solutions2 = odeint(ode2, initial_conditions[1], t_eval)
# 创建Plotly图形
fig = go.Figure()
# 添加多个ODE曲线到图中
fig.add_trace(go.Scatter(x=t_eval, y=solutions1, mode='lines', name='ODE 1'))
fig.add_trace(go.Scatter(x=t_eval, y=solutions2, mode='lines', name='ODE 2'))
# 更新布局
fig.update_layout(title='Multiple ODE Curves in a Single Plot',
xaxis_title='Time',
yaxis_title='Solution')
# 显示图形
fig.show()
在这个示例中,我们定义了两个简单的ODE函数(ode1
和ode2
),并使用odeint
函数从scipy.integrate
库计算它们的解。我们分别为每个ODE设置了初始条件,并定义了一个时间范围以及用于评估解的点。
然后,我们创建了一个Plotly
图形并使用add_trace
方法将每个ODE的解添加到图中。我们还更新了图形的布局以设置标题和轴标签。
最后,我们使用fig.show()
方法在浏览器中显示图形。在这个图中,你可以看到两个不同ODE曲线的可视化,它们共享相同的时间轴。
领取专属 10元无门槛券
手把手带您无忧上云