如何为三个线性函数设置不同区间绘制图像?
实现多线性函数分区间绘制
问题说明
需要将三个线性函数分别在指定区间绘制:
y=2x+1:x ∈ [2, 8]k=3x+2:x ∈ [8, 12]i=2x+2:x ∈ [12, 20]
你之前修改的代码存在两个核心问题:
- 计算函数值时误用了不匹配的x数组(比如用
x数组计算k和i,但绘图时用t、m数组,导致维度不匹配) - 区间范围和期望的[2,8]、[8,12]、[12,20]不符
正确实现代码
import matplotlib.pyplot as plt import numpy as np # 为每个函数创建对应区间的x数组 x1 = np.linspace(2, 8, 100) x2 = np.linspace(8, 12, 100) x3 = np.linspace(12, 20, 100) # 用各自的x数组计算函数值 y1 = 2 * x1 + 1 y2 = 3 * x2 + 2 y3 = 2 * x3 + 2 # 分别绘制每个函数,设置不同颜色方便区分 plt.plot(x1, y1, '-r', label='y=2x+1') plt.plot(x2, y2, '-g', label='k=3x+2') plt.plot(x3, y3, '-b', label='i=2x+2') # 添加图表元素 plt.title('3 functions on 3 intervals') plt.xlabel('x', color='#1C2833') plt.ylabel('y', color='#1C2833') plt.legend(loc='upper left') plt.grid() # 调整x轴范围,确保所有区间都显示完整 plt.xlim(1, 21) plt.show()
关键说明
- 每个函数的x数组严格对应目标区间,彻底避免维度不匹配问题
- 给不同函数设置不同颜色(红、绿、蓝),更易区分各区间的函数
- 通过
plt.xlim()手动调整x轴范围,确保三个区间都完整展示
内容的提问来源于stack exchange,提问作者harmonius cool
相关产品推荐
相关产品推荐

