Plot Clusters y clasificación de KMeans para datos unidimensionales

Estoy usandoKMeans para agrupar los tres conjuntos de datos de series temporales con diferentes caracteres. Por razones de reproducibilidad, estoy compartiendo los datosaqu.

Aquí está mi código

import numpy as np
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans

protocols = {}

types = {"data1": "data1.csv", "data2": "data2.csv", "data3": "data3.csv"}

for protname, fname in types.items():
    col_time,col_window = np.loadtxt(fname,delimiter=',').T
    trailing_window = col_window[:-1] # "past" values at a given index
    leading_window  = col_window[1:]  # "current values at a given index
    decreasing_inds = np.where(leading_window < trailing_window)[0]
    quotient = leading_window[decreasing_inds]/trailing_window[decreasing_inds]
    quotient_times = col_time[decreasing_inds]

    protocols[protname] = {
        "col_time": col_time,
        "col_window": col_window,
        "quotient_times": quotient_times,
        "quotient": quotient,
    }



k_means = KMeans(algorithm='auto', copy_x=True, init='k-means++', max_iter=300,
    n_clusters=3, n_init=10, n_jobs=None, precompute_distances='auto',
    random_state=0, tol=0.0001, verbose=0)
k_means.fit(quotient.reshape(-1,1))

e esta manera, dado un nuevo punto de datos (conquotient yquotient_times), Quiero saber quécluster pertenece al construir cada conjunto de datos apilando estas dos características transformadasquotient yquotient_times conKMeans.

k_means.labels_ da esta salidaarray([1, 1, 0, 1, 2, 1, 0, 0, 2, 0, 0, 2, 0, 0, 1, 0, 0, 0, 0, 0], dtype=int32)

Finalmente, quiero visualizar los grupos usandoplt.plot(k_means, ".",color="blue") pero recibo este error:TypeError: float() argument must be a string or a number, not 'KMeans'. ¿Cómo trazamosKMeans grupos?