from matplotlib import pyplot as plt
import numpy as np # 导入matplotlib库的子库pyplot和numpy库
def matplotlibshow(a, b, c, d, e): # 定义新的函数
x = np.linspace(-25, 0, 1000) # 确定图像中定义域的取值范围
interval0 = [1 if (i <= a) else 0 for i in x]
interval1 = [1 if (i <= b and i > a) else 0 for i in x]
interval2 = [1 if (i <= c and i > b) else 0 for i in x]
interval3 = [1 if (i <= d and i > c) else 0 for i in x]
interval4 = [1 if (i <= e and i > d) else 0 for i in x]
interval5 = [1 if (i > e) else 0 for i in x] # 确定各取值区间
y = 1 * interval0 + (0.8 + 0.2*(x - a) / (b - a)) * interval1 + (0.6 + 0.3*(x - b) / (c - b)) * interval2 + (
0.3 + 0.2*(x - c) / (d - c)) * interval3 + (0.3*(x - d) / (e - d)) * interval4 # 写入需要画图的函数
plt.plot(x, y, 'o--k', ms=1) # 使用plot函数传入x,y,设置线条格式,粗细
plt.xticks([a, b, c, d, e], ["a", "b", "c", "d", "e"]) # 修改横坐标内容
plt.yticks([]) # 取消纵坐标的值
plt.xlabel('x') # 横轴命名
plt.ylabel('y') # 纵轴命名
plt.title('Piecewise') # 函数标题
plt.show()
def main():
matplotlibshow(-21, -17, -13, -9, -4)
main()
代码运行结果如下:



