Я пытаюсь построить линию тренда для диаграммы рассеяния matplotlib и не уверен, почему линия тренда не появляется. Что я должен изменить в своем коде, чтобы появилась линия тренда? Событие относится к категориальному типу данных.
Я следовал тому, что большинство других вопросов о стековом потоке предлагает о построении линии тренда, но я не уверен, почему моя линия тренда не появляется.
#import libraries
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
from pandas.plotting import register_matplotlib_converters
#register datetime converters
register_matplotlib_converters()
#read dataset using pandas
dataset = pd.read_csv("UsrNonCallCDCEvents_CDCEventType.csv")
#convert date to datetime type
dataset['Interval'] = pd.to_datetime(dataset['Interval'])
#convert other columns to numeric type
for cols in list(dataset):
if cols != 'Interval' and cols != 'CDCEventType':
dataset[cols] = pd.to_numeric(dataset[cols])
#create pivot of dataset
pivot_dataset = dataset.pivot(index='Interval',columns='CDCEventType',values='AvgWeight(B)')
#create scatterplot with trendline
x = pivot_dataset.index.values.astype('float64')
y = pivot_dataset['J-STD-025']
plt.scatter(x,y)
z = np.polyfit(x,y,1)
p = np.poly1d(z)
plt.plot(x,p(x),"r--")
plt.show()
Это график, который выводится в данный момент. Я пытаюсь получить этот же график, но с линией тренда: https://imgur.com/a/o18a5Y3
Также хорошо, что ось х не показывает даты
Фрагмент моего фрейма данных выглядит так: https://imgur.com/a/xJAcgEI
Я вычеркнул неуместные имена столбцов