使用NumPy与Matplotlib同图绘制不同S值下k_b与delta_P关系曲线
你只需额外计算S=0.1对应的delta_P序列,再调用一次plt.plot()即可,matplotlib默认会在同一张画布叠加绘制曲线,建议添加图例区分两条曲线对应的S值,修改后的完整可运行代码如下:
def rocproduct(k_cat,E0,S,k_b,k_f): return k_cat*E0*S/((k_b/k_f)+S) import numpy as np import matplotlib.pyplot as plt k_cat=0.1;E0=1;k_f=0.3 # 公共x轴数据 k_b=np.array([0.01,0.1,0.2,0.5,1,1.5,2,5,10]) # 分别计算两个S值对应的y轴序列 delta_P_s3 = rocproduct(k_cat,E0,3,k_b,k_f) delta_P_s01 = rocproduct(k_cat,E0,0.1,k_b,k_f) plt.ylabel('rate of change of product') plt.xlabel('kb') # 分别绘制两条曲线,指定label用于图例区分 plt.plot(k_b, delta_P_s3, label='S=3') plt.plot(k_b, delta_P_s01, label='S=0.1') # 显示图例 plt.legend() # 弹出展示画布 plt.show()
核心改动点:
- 移除了原代码里写死的单S值变量,分别对S=3和S=0.1调用
rocproduct函数计算两个delta_P序列 - 两次调用
plt.plot()分别绘制两条曲线,给每条曲线增加了label参数标注对应S值 - 新增
plt.legend()显示图例、plt.show()弹出展示最终图像
内容的提问来源于stack exchange,提问作者xin hwa
相关产品推荐
相关产品推荐

