Why this doesnt scatter the ml lines?

Hi, I’m traying to do this example from [Ml regression in Python (plotly.com)], but can’t manage to make it work … at this instant I can’t ask in stackoverflow, can some one please check why this code doesn’t work for me?:

import numpy as np
import plotly.express as px
import plotly.graph_objects as go
from sklearn.neighbors import KNeighborsRegressor

df = px.data.tips()
X = df.total_bill.values.reshape(-1, 1)
x_range = np.linspace(X.min(), X.max(), 100)

# Model #1
knn_dist = KNeighborsRegressor(10, weights='distance')
knn_dist.fit(X, df.tip)
y_dist = knn_dist.predict(x_range.reshape(-1, 1))

# Model #2
knn_uni = KNeighborsRegressor(10, weights='uniform')
knn_uni.fit(X, df.tip)
y_uni = knn_uni.predict(x_range.reshape(-1, 1))

fig = px.scatter(df, x='total_bill', y='tip', color='sex', opacity=0.65)
fig.add_traces(go.Scatter(x=x_range, y=y_uni, name='Weights: Uniform'))
fig.add_traces(go.Scatter(x=x_range, y=y_dist, name='Weights: Distance'))
fig.show()

This is my code:

import numpy as np

import plotly.express as px

import plotly.graph_objects as go

from sklearn.neighbors import KNeighborsRegressor

import pandas as pd

from csv import reader

nombre_del_archivo = "data.csv"

df = pd.read_csv(nombre_del_archivo)

tmp = df.select_dtypes(include=['Int64'])

df[tmp.columns]= tmp.astype('float64')

file_name = nombre_del_archivo

with open(file_name, "r", encoding='cp437') as csv_file:

csv_reader = reader(csv_file)

head = next(csv_reader)

print("head:")

print(", ".join(head))

for row in csv_reader:

(", ".join(row))

dff=df

dff=pd.DataFrame(dff)

dfff=dff.copy()

dfff5=dfff

dfff5=dfff5.loc[:,['VPIP','PFR']]

dfff5=dfff5.dropna()

drop1, drop2 = dfff5.columns[0:3].tolist()

print("df",dfff5)

dff5_=pd.DataFrame(dfff5['VPIP'])

dff5__=pd.DataFrame(dfff5['PFR'])

X=dff5_

xxl=len(X)

Xx=np.array(X)

yY=np.array(dff5__)

X = dff5_.values.reshape(-1,1 )

print("X",X)

print("x_shape)",np.shape(X))

x_range = np.linspace(X.min(), X.max(), 100)

print("x_range)",x_range)

print("x_rangeshape",np.shape(x_range))

y=dff5__

print("y",y)

# Model #1

knn_dist = KNeighborsRegressor(10, weights='distance')

knn_dist.fit(X, y)

y_dist = knn_dist.predict(x_range.reshape(-1,1 ))

print("ydist",y_dist)

print("y_distshape",np.shape(y_dist))

print("ydist",y_dist)

# Model #2

knn_uni = KNeighborsRegressor(10, weights='uniform')

knn_uni.fit(X, y)

y_uni = knn_uni.predict(x_range.reshape(-1,1 ))

print("yuni",y_uni)

print("y_distshape",np.shape(y_uni))

print("yuni",y_uni)

figure = px.scatter(dfff5, x=dff5_.loc[:,'VPIP'], y=dff5__.loc[:,'PFR'], opacity=0.65)

figure.add_traces(go.Scatter(x=x_range, y=y_uni, name='Weights: Uniform'))

figure.add_traces(go.Scatter(x=x_range, y=y_dist, name='Weights: Distance'))

figure.update_layout(transition_duration=500,)

figure.show()