目录
需求
画一个分段函数
先新建文件
先跑了一个一元一次函数实例
from mpl_toolkits.mplot3d import Axes3D
import numpy as np
from matplotlib import pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False #用来正常显示负号
# 一元一次函数图像
x = np.arange(-10, 10, 0.1)
y = 2 * x
plt.xlabel('x')
plt.ylabel('y')
plt.title("残余强度变化")
plt.plot(x, y)
plt.show()
然后开始设计分段函数
参考示例
直接def一个函数
算出y的所有数
然后把砼残余强度绘制出来
from mpl_toolkits.mplot3d import Axes3D
import numpy as np
from matplotlib import pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False #用来正常显示负号
def triangle_wave(x, c):
if x < c:
return 1
elif x >= c:
return (400*(1.6-0.0015*x))/400
x = np.linspace(0, 600, 1000)
y = np.array([triangle_wave(t, 400) for t in x])
plt.xlabel('温度')
plt.ylabel('残余抗压强度比值')
plt.title("残余强度变化")
plt.plot(x, y)
plt.show()
还有钢筋残余强度变化
from mpl_toolkits.mplot3d import Axes3D
import numpy as np
from matplotlib import pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False #用来正常显示负号
def triangle_wave(x, c):
if x < c:
return 3.35
elif x >= c:
return 3.35*(1.32-0.00164*x)
x = np.linspace(0, 700, 1000)
y = np.array([triangle_wave(t, 200) for t in x])
plt.xlabel('温度')
plt.ylabel('残余抗压强度比值')
plt.title("钢筋残余强度变化-xx作业")
plt.plot(x, y)
plt.show()
绘制出图像
总结
其实plt功能包的功能就是对应x,y的点绘制出函数
所以在此之前只要输出对应y值和x值
然后用x、y绘制出来即可