Как я могу изогнуть этот конкретный график данных с помощью Python? - PullRequest
0 голосов
/ 25 апреля 2019

Я должен сделать диаграмму 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()

Вот что я получаю: Graph I got

Это то, что я хочу:

enter image description here

Как сделать, чтобы зеленая линия появилась на моем графике?

Ответы [ 2 ]

1 голос
/ 02 мая 2019

Конечно.Вот тот же фрагмент кода:

    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

0 голосов
/ 26 апреля 2019

Вы можете использовать Matlab или numpy для подгонки полиномиальной кривой. Даже простой лист Google также отобразит на диаграмме trendline.

Для numpy, проверьте функции polyfit и poly1d для подгонки кривой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...