Как нарисовать линию корреляции на точечном графике matplotlib?

#python #matplotlib #correlation #scatter-plot

#python #matplotlib #корреляция #точечный график

Вопрос:

Ниже приведен код для точечной диаграммы, которую я пытаюсь нарисовать. Я хочу добавить линию корреляции после отрисовки вложенных графиков. Хотя код выполняется без ошибок, я не вижу ни одной линии, нарисованной на графике. Любая помощь будет высоко оценена.

     fig, ax = plt.subplots(figsize=fs)
    for g in np.unique(group):
        ix = np.where(group == g)
        sc = ax.scatter(y[ix], dosage[ix], color = cdict[g], edgecolors='none')
    # Fit with polyfit
    b, m = polyfit(y, dosage, 1)
    ax.plot(y, b   m * y, '-')
    ax.set_xlabel('LT2', fontsize = 16)
    ax.set_ylabel('Log Dosage', fontsize = 16)
    # ax.legend(scatterpoints = 1, title='DILI Risk')

    # fig.colorbar(sc, label='Dosage/mg/day')
    path_dose = 'figure/reports/images/{}_hist_dose.png'.format(name_rep)
    data['hist_dosage'].append(path_dose)
    plt.savefig(path_dose)
    plt.close()
  

Ниже приведен график, который я получаю.
введите описание изображения здесь

Комментарии:

1. Возможно, документация на matplotlib.org/api/_as_gen/matplotlib.pyplot.xcorr.html было бы полезно обсудить xcorr в matplotlib

2. Не имея доступа к вашим данным и не видя вашего графика, мы не можем сказать вам, что происходит не так

3. Было бы неплохо добавить небольшой (фиктивный) набор данных к вашему вопросу.

Ответ №1:

Извините, ребята, у меня были nan в моих данных. np.polyfit () изначально не работал, и поэтому строить было нечего.