es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo trazar una función de distribución acumulada (CDF) y una función de distribución acumulada complementaria (CCDF) con listas de dos variables.

[Tracemos un gráfico CCDF basado en los valores actualizados con respecto a los años] que se muestra en la imagen.

El conjunto de datos se ve así:

Año Valores actualizados
(2000 - 1)
(2001 - 159)
(2002 - 140)
(2003 - 160)
(2004 - 300)
(2005 - 378)
(2006 - 419)
(2007 - 401)
(2008 - 509)
(2009 - 610)
(2010 - 789)
(2011 - 856)
(2012 - 720)
(2013 - 860)
(2014 - 901)
(2015 - 1150)
(2016 - 1130)
(2017 - 1387)
(2018 - 1578)
(2019 - 2480)
(2020 - 3120)
(2021 - 5690)

He visto muchas respuestas pero no encontré mucho sobre cómo trazar un gráfico CCDF usando dos variables. Quiero calcular la CCDF de las frecuencias de actualización basadas en el año y quiero mostrar las etiquetas de año en el eje x en forma de un gráfico. Gracias.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para trazar un gráfico de CCDF (Función de distribución complementaria acumulada) basado en los valores actualizados con respecto a los años, podemos seguir estos pasos:

    1. Importar las librerías de Python numpy y matplotlib.pyplot para trabajar con los datos y trazar el gráfico respectivamente.
    2. Crear una matriz numpy con los “valores actualizados” del conjunto de datos.

    3. Ordenar la matriz en orden descendente para obtener la posición de cada valor.

    4. Calcular el CCDF dividiendo cada posición por el número total de valores.

    5. Trazar el CCDF usando matplotlib.pyplot.

    6. Establecer las etiquetas del eje x como la columna “Año” del conjunto de datos.

    Aquí está el código para trazar el gráfico de CCDF:

    import numpy as np
    import matplotlib.pyplot as plt
    
    # Creando una matriz numpy de los valores actualizados
    values = np.array([1,159,140,160,300,378,419,401,509,610,789,856,720,860,901,1150,1130,1387,1578,2480,3120,5690])
    
    # Ordenando la matriz en orden descendente
    values = np.sort(values)[::-1] 
    
    # Número total de valores
    n = len(values)
    
    # Calculando el CCDF
    ccdf = np.arange(n, 0, -1) / n 
    
    # Trazando el CCDF
    fig, ax = plt.subplots()
    ax.plot(ccdf, values, marker='o')
    
    # Estableciendo las etiquetas del eje x
    years = np.arange(2000, 2022)
    plt.xticks(np.arange(0, 1.1, 0.1), [f'{year}\n' for year in years])
    
    # Estableciendo las etiquetas y el título
    ax.set_xlabel('Año')
    ax.set_ylabel('Valores actualizados')
    ax.set_title('Gráfico CCDF de los valores actualizados con respecto a los años')
    
    plt.show()
    

    Esto generará un gráfico de CCDF como se muestra en la imagen proporcionada. El eje x mostrará las etiquetas de “Año” y el eje y mostrará las etiquetas de “Valores actualizados”.

Comments are closed.