首页 > 解决方案 > 如何使用 python 曲线拟合这个特定的数据图?

问题描述

我必须使用 fit 文件中的数据制作 cdm 图。我已经成功地做到了。现在下一个任务是制作一条穿过人口最多的地区的线。那我该怎么做呢?

我什至不知道如何开始,因为我自己编程很弱

from astropy.io import fits
import matplotlib.pyplot as plt

leo = fits.open('Leo IV.fits')
data = leo[1].data

plt.scatter(data['M606']-data['M814'], data['M814'], color='k', s=1)
plt.title('Leo IV')
plt.gca().set_xlim([0.0,-0.8])
plt.gca().set_ylim([18,28])
plt.gca().invert_xaxis()
plt.gca().invert_yaxis()
plt.show()

这就是我得到的: 我得到的图表

这就是我要的:

在此处输入图像描述

如何使绿线出现在我的图表中?

标签: python-3.xmatplotlib

解决方案


当然。这是一个相同的代码片段:

    import numpy as np
    import matplotlib.pyplot as plt

    x = np.arange(0.0,10.0,0.1)
    y = 2*x**3 + 2

    fit = np.polyfit(x, y, 1)
    fit_fn = np.poly1d(fit)

    plt.scatter(x, y)          # blue
    plt.scatter(x, fit_fn(x))  # orange
    plt.grid()
    plt.show() 

你应该把它作为你的输出: polyfit_plot


推荐阅读