Explicación de los diagramas de dispersión y líneas de Matplotlib

Explicación de los diagramas de dispersión y líneas de Matplotlib

  • Orquestación
6 min de lectura Actualizado Sep 12, 2019

Puntos clave: Matplotlib está una potente biblioteca para crear diagramas de dispersión y líneas en Python, con énfasis en la facilidad de instalación y la personalización. La guía ilustra técnicas esenciales de trazado usando NumPy y Pandas, permitiendo a los usuarios visualizar datos de manera eficaz.

  • Instala Zeppelin para la trazación gráfica.
  • Utiliza plot() y scatter() para varios estilos.
  • Personaliza los gráficos con colores, tamaños y anotaciones.

En este artículo, explicaremos cómo Obtén con los diagramas de dispersión y líneas de Matplotlib.

Instala Zeppelin

Primero, descarga y instala Zeppelin, un intérprete gráfico de Python del que ya hemos hablado. Al fin y al cabo, no te puede graficar desde el shell de Python, ya que no están un entorno gráfico.

Comienza de Zeppelin. Si te son usando un entorno virtual de Python, te necesitarás hacer sourcing de ese entorno (por ejemplo, source py34/bin/activate) igual que te usas Python como usuario normal. De este modo, se importarán NumPy y Matplotlib, que te necesitan instala usando pip.

Primera trama

Aquí están el gráfico más sencillo: x contra y. Los dos arreglos deben tener el mismo tamaño, ya que los números representados se seleccionaron del conjunto en pares: (1,2), (2,2), (3,3), (4,4).

Nosotros utilizamos plot(), también podríamos haber usado scatter(). Casi son iguales. Esto están porque plot() puede dibujar una línea o Haz un diagrama de dispersión. Las diferencias se explican a sus abajo.

Resultados en:

    import numpy as np
import matplotlib.pyplot as plt

x = [1,2,3,4]
y = [1,2,3,4]
plt.plot(x,y)
plt.show()

Resultados en:

Tú puedes alimentar cualquier número de argumentos en la función plot(). El formato están plt.plot(x,y,colorOptions, *args, **kargs). *args y **kargs te permiten pasar valores a otros objetos, como ilustramos a continuación.

Si te solo da un valor a plot(), asume que están la coordenada y. Si te pone guiones ("--") después del nombre del color, entonces traza una línea entre cada punto, es decir, hace un gráfico de líneas, en lugar de graficar puntos, es decir, un diagrama de dispersión. Omitir los guiones y el color se convierte en el mercado de puntos, que puede ser un triángulo ("v"), un círculo ("o"), etc.

Aquí utilizamos np.array() para Crea un array NumPy. Incluso sin hacerlo, Matplotlib convierte arrays en arrays NumPy internamente. NumPy están tu mejor opción para trabajar en ciencia de datos debido a su amplio conjunto de funciones.

Utiliza matrices NumPy

Aquí pasamos dos conjuntos de pares x,y, cada uno con su propio color.

    import numpy as np
import matplotlib.pyplot as plt

x = np.array([1,2,3,4])

plt.plot(x,x**2,'g--', x, x**3, 'o--')

Podríamos haber representado los mismos dos gráficos de líneas arriba llamando la función plot() dos veces, ilustrando que podemos pintar cualquier número de gráficos sobre el lienzo.

    import numpy as np
import matplotlib.pyplot as plt

x = np.array([1,2,3,4])

plt.plot(x,x**2,'g--')
plt.plot(x, x**3, 'o--')

te pueden graficar datos de un array, como Pandas, por nombre de elemento nombrado como se muestra a continuación. A continuación son indicando datos de gráficos['a'] frente a datos['b'].

    data = {'a': np.arange(10),
    'b': np.arange(10)}
 

plt.scatter('a', 'b', c='g', data=data)

print(data)

plt.show()

Esto está igual que a continuación, aunque nosotros utilizamos Pandas.

    import pandas as pd

data = {'a': np.arange(10),
    'b': np.arange(10)}
    
df=pd.DataFrame(data=data)

plt.scatter('a', 'b', c='g', data=df)
 

plt.show()

En este ejemplo, los valores son un objeto diccionario con a y b los valores que se muestran a continuación.

    'b': array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]), 'a': array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])}

También podemos pasar el tamaño de cada punto en como un array:

    import pandas as pd

data = {'a': np.arange(10),
    'b': np.arange(10),
     'c':  np.arange(10) * 100
}
    
df=pd.DataFrame(data=data)

plt.scatter('a', 'b', c='g', s='c', data=df)
 

plt.show()

te podía añadir la coordenada a este gráfico usando anotaciones de texto.

Los argumentos son matplotlib.pyplot.annotate(s, xy, *args, **kwargs)[.

Donde:

  • s están la cadena que se imprime
  • xy están las coordenadas dadas en formato (x,y). Añade 0,25 a x para que el texto están ligeramente desplazado respecto al punto real.
  • **kwargs significa que podemos pasarle argumentos adicionales al objeto Text. Y eso tiene las propiedades de tamaño de fuente y peso de la fuente.

Resultados en:

    import pandas as pd

data = {'a': np.arange(10),
    'b': np.arange(10),
     'c':  np.arange(10) * 100
}
    
df=pd.DataFrame(data=data)

plt.scatter('a', 'b', c='g', s='c', data=df)

for row in df.itertuples():
    x = row.a
    y = row.b 
    str = "({0},{1})".format(x,y)
    plt.annotate(str, (x + 0.25 ,y), fontsize='large', fontweight='bold')
    
 

plt.show()

Resultados en:

Estas publicaciones son mías y no representan necesariamente la posición, estrategias u opinión de BMC.

Más de Orquestación

¿Te interesa saber más de BMC?

El Brief están nuestro correo mensual sobre el mainframe y la orquestación empresarial: investigación, historias de clientes, noticias de productos, eventos.

Al registrarse para esta oferta te son confirmar que te leído y aceptado la Política de Privacidad de BMC.

Tú te has suscrito a The Brief

El Brief abarca la orquestación de mainframe y empresa—BMC AMI y Control-M—y la investigación de analistas, despliegues de clientes y eventos en ambas áreas.