2012-11-04 86 views
1

我想能够显示一个对象;在我的matplotlib图上称它为“Slope”。例如:如何在图形/绘图(在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() 

现在,我将如何“打印”或显示在我的图上获得'Slope'的值?

回答

3

在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:value”,请将上面的“Slope”替换为:

"Slope: {0}".format(Slope) 
相关问题