Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在matplotlib中绘制坡度三角形?_Python_Matplotlib - Fatal编程技术网

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()
输出:

将所有三角形的内容放在一个单独的函数中,它不会对主代码产生太大的影响

希望有帮助