我希望能够显示一个对象;在我的matplotlib图上将其称为“坡度”。例如:
import numpy as np
import matplotlib.pyplot as plt
range1 = a[(-5. <= a) & (-3. >= a)]
range2 = b[(-5. <= a) & (-3. >= a)]
'''Calculate slope value from endpoints in the data range (linear).'''
xslopeentry1 = range1[0]
xslopeentry2 = range1[-1]
yslopeentry1 = range2[0]
yslopeentry2 = range2[-1]
Slope = (yslopeentry2-yslopeentry1)/(xslopeentry2-xslopeentry1)
plt.plot(range1,range2)
plt.show()
现在,如何在我的绘图上“打印”或显示“坡度”获得的值?
最佳答案
有几种在matplotlib中添加文本的选项。最好的解释来自documentation。
为了您的目的,可能有3种选择:
1.)Text relative to axes:
matplotlib.pyplot.text(Slope,x,y)
其中x和y是文本相对于轴的坐标。
2.)Text relative to figure:
matplotlib.pyplot.figtext(Slope,x,y)
其中x和y是文本相对于图形的坐标
3.)Annotation:
这将创建一个引用特定数据点的文本注释。这在这里没有多大意义,但如果您想要一个箭头指向与坡度相关的线,则可以轻松创建箭头。
matplotlib.pyplot.annotate(Slope, xy=(xx, yy), xytext=(x, y),
arrowprops=dict(facecolor='black', shrink=0.05))
其中x和y是文本坐标,而xx和yy是箭头指向的点的坐标。
**请注意,以上示例仅将斜率的值放在绘图上。如果您要使用“斜率:值”,则将上面的“斜率”替换为:
"Slope: {0}".format(Slope)