绘制SymPy函数时xlim参数失效,无法限定x轴范围为0-120问题求助
问题原因
SymPy的plot函数默认仅对自变量在[-10, 10]区间做采样计算,你单独设置xlim仅调整了画布的显示范围,并没有修改函数的实际采样区间,所以才会出现x轴范围不符合预期的问题。
解决方法
在调用plot函数时,先显式指定自变量t的采样区间,再搭配xlim、ylim参数即可,修改后的代码示例:
import sympy as sp def symbolicCalc(): A0, k1, k2, t = sp.symbols("A0 k1 k2 t",real=True) fSymb=A0*(1-(k1+k2*A0)/(k2*A0+k1*sp.exp((k1+k2*A0)*t))) # 第一个参数是要绘制的表达式,后面跟(自变量, 采样下限, 采样上限),再设置显示范围 sp.plotting.plot( (fSymb.subs([(A0,70),(k1,8e-4),(k2,1.5e-3)]), (t, 0, 120)), xlim=[0,120], ylim=[0,100] ) symbolicCalc()
如果绘制出的曲线不够平滑,还可以额外添加两个参数调整采样精度:
adaptive=False关闭自适应采样,使用固定步长采样nb_of_points=1000调高采样点数量,数值越大曲线越平滑
内容的提问来源于stack exchange,提问作者Stef1611
相关产品推荐
相关产品推荐

