Python 如何在matplotlib中绘制坡度三角形?
我想要的是如图所示的三角形: 这是我的密码:Python 如何在matplotlib中绘制坡度三角形?,python,matplotlib,Python,Matplotlib,我想要的是如图所示的三角形: 这是我的密码: import matplotlib.pyplot as plt data= [0.2855,0.3030,0.4995] x = [1,2,3] plt.plot(x, data) plt.show 是否有一种简单的方法可以自动插入这些倾斜三角形,如图所示?我想在两个点中间有一个三角形,旁边写着斜率。根据你的“自动时装”的想法,这可能是一个合适的解决方案: 导入matplotlib.pyplot作为plt 将numpy作为np导入 #资料 x=n
import matplotlib.pyplot as plt
data= [0.2855,0.3030,0.4995]
x = [1,2,3]
plt.plot(x, data)
plt.show
是否有一种简单的方法可以自动插入这些倾斜三角形,如图所示?我想在两个点中间有一个三角形,旁边写着斜率。根据你的“自动时装”的想法,这可能是一个合适的解决方案:
导入matplotlib.pyplot作为plt
将numpy作为np导入
#资料
x=np.array([1,2,3])
y=np.数组([0.2855,0.3030,0.4995])
#计算三角形坐标值
x_mid=np.卷积(x[0.5,0.5],mode='valid')
x_-tri=np.vstack((x_-mid,x_-mid+0.3))
y_tri=np.interp(x_tri,x,y)
#计算坡度
斜率=np.diff(y)/np.diff(x)
#密谋
平面图(x,y)
plt.plot(x_tri,np.tile(y_tri[0,:],[2,1]),'r')#红色水平线
plt.plt(np.tile(x_tri[1,1],[2,1]),y_tri,'r')#红色垂直线
对于i,枚举中的斜率(斜率):#斜率值
plt.text(x_-tri[1,i]+0.05,np.mean(y_-tri[:,i]),r'{0.3f}.格式(斜率))
plt.show()
输出:
将所有三角形的内容放在一个单独的函数中,它不会对主代码产生太大的影响
希望有帮助