如何在Python的matplotlib中从散点图绘制曲线?

3 投票
1 回答
15199 浏览
提问于 2025-04-18 14:53

enter image description here

我的问题:

我该如何通过这些数据绘制一条曲线,从而为这个图形描述一个方程呢?

我通过以下代码生成了这个散点图,但我不知道如何为这些数据生成一个方程,并同时在这个图上绘制出相应的曲线。请帮帮我!

def draw(data,xlabel,ylabel):
    print('length of data : ',len(data))
    x,y = [],[]
    for i in data:
        x.append((i[1]))
        y.append((i[0]))
    plt.scatter(x, y,marker=r'o',color='b')
    plt.xlabel(xlabel)
    plt.ylabel(ylabel)
    plt.show()

基本上我想要的效果是这样的:enter image description here

1 个回答

3

你需要进行一个曲线拟合的过程,这在数学上叫做回归问题。在你的情况中,数据看起来大致是指数型的,但你可以通过 scipy.optimize.curve_fit 来拟合任意的函数。

http://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.curve_fit.html

撰写回答