1

我希望能够显示一个对象;在我的 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()

现在,我将如何能够“打印”或在我的绘图上显示为“斜率”获得的值?

4

1 回答 1

3

在 matplotlib 中添加文本有几个选项。对它们的最佳解释来自文档

出于您的目的,有 3 个选项可能有意义:

1.)相对于轴的文本

matplotlib.pyplot.text(Slope,x,y)

其中 x 和 y 是文本相对于轴的坐标。

2.)相对于图的文字

matplotlib.pyplot.figtext(Slope,x,y)

其中 x 和 y 是文本相对于图形的坐标

3.)注释

这将创建一个引用特定数据点的文本注释。这在这里没有多大意义,但它确实允许轻松创建箭头,如果您想要一个指向与坡度相关的线的箭头。

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)
于 2012-12-29T06:18:56.697 回答