如何在python中的曲线上添加一条线的方程

时间:2014-02-06 12:54:32

标签: python numpy matplotlib

我正在尝试绘制图形,添加最佳拟合线并在图形上显示最佳拟合方程。这是我到目前为止所做的,但我不确定我绘制方程的方法是否正确。你能救我吗?

plt.close("all")

data = np.genfromtxt('plotfile.csv',delimiter=',', dtype = float, skiprows=1)
x = data[:,1]
y = data[:,2]

(m,b)=polyfit(x ,y ,1)
yp = polyval([m,b],x)
equation = 'y = ' + str(round(m,4)) + 'x' ' + ' + str(round(b,4))

scatter(x,y)
plot(x,yp)
text(1,1, equation)

我循环浏览几个文件来绘制这些图形,因此总是希望方程式打印在顶角。由于不同的图形具有不同的轴值,因此等式并不总是绘制在相同的位置,或者如果它超出比例,则不总是在图形上绘制。无论轴值如何,如何使等式始终显示在同一位置?

1 个答案:

答案 0 :(得分:0)

使用plt.text。如the docs所示,您可以使用以下方式在轴坐标中指定文本的位置:

text(0, 1,'matplotlib', horizontalalignment='center',
     verticalalignment='center',
     transform=ax.transAxes)

(0,0)表示左下角,(1,1)表示右上角。所以(0,1)是左上角。

要了解有关transform=ax.transAxes的更多信息,请参阅transforms tutorial