我正在尝试绘制图形,添加最佳拟合线并在图形上显示最佳拟合方程。这是我到目前为止所做的,但我不确定我绘制方程的方法是否正确。你能救我吗?
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)
我循环浏览几个文件来绘制这些图形,因此总是希望方程式打印在顶角。由于不同的图形具有不同的轴值,因此等式并不总是绘制在相同的位置,或者如果它超出比例,则不总是在图形上绘制。无论轴值如何,如何使等式始终显示在同一位置?
答案 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。