Creación de Gráficos con GooPyCharts

Introducción:

Hola amigos de Internet, les doy la bienvenida a Mi Diario Python, el mejor blog en español para Aprender Python.
En este articulo veremos como utilizar "GooPyCharts". ¿No sabes que demonios es eso? No te preocupes, veremos como instalarlo y utilizarlo. Así que prepárate, abre tu Jupyter Notebook y a empezar se a dicho.

Imagen relacionada

GooPyCharts:

GooPyChart es la API de Google Charts para Python. Y se suele utilizar como alternativa de Matplotlib.
GooPyCharts nos permite generar gráficos muy limpios y de manera muy sencilla.
Nos permite generar gráficos de barras, lineas, histogramas y de dispersión. 
Cuenta con métodos para guardar los datos en archivos CSV, HTML o PNG. Y una excelente integración con Jupyter.

Instalación:

La instalación es muy sencillo. Solo debemos ingresar el siguiente comando en nuestra consola o terminal:
pip install gpchars
O puedes descargar los archivos en el repositorio de GooPyCharts: https://github.com/Dfenestrator/GooPyCharts.

Gráficos de Lineas:

Los gráficos de lineas son un buen ejemplo para empezar. Vemos como hacerlos:
# Importamos el objeto "figure"
from gpcharts import figure

# Creamos la instancia pasando como argumento
# el nombre del gráfico
figura = figure("Figura")

# Graficamos los datos escogidos
figura.plot([8,7,6,5,4])
Un gráfico muy bonito ¿No creen? Como pueden observar a diferencia de Matplotlib, el cual nos da como resultado una imagen, GooPycharts utiliza los servicios de Google Charts y nos devuelve una gráfico muy interactivo. Y nos devuelve dos botones con las opciones de descargar en dos distintos formatos. 
Muy fácil ¿No creen?.

Al declarar la instancia podemos agregar argumentos que nos permiten personalizar y configurar el gráfico, vemos un ejemplo:

# Importamos el objeto "figure"
from gpcharts import figure

# Creamos la instancia declarando nuestros argumentos
figura = figure(title="Gráfico", # Titulo
                ylabel="Etiqueta Y", # Etiqueta del eje Y
                xlabel="Etiqueta X", # Etiqueta del eje X
                width=500, # Anchura del gráfico
                height=300, # Altura del gráfico
               )

# Graficamos los datos escogidos
figura.plot([8,7,6,5,4])

Bueno, como pueden observar, los argumentos son muy predecibles. Tenemos el titulo, las etiquetas del eje X e Y, y las dimensiones del gráfico (más pequeño que el anterior).

Gráfico de Dispersión:

Para crear nuestros gráficos de dispersión utilizaremos el método scatter(). La sintaxis es la misma, veamos un ejemplo:
# Importamos el objeto "figure"
from gpcharts import figure

dispersion = figure(title="Gráfico de Dispersión",
                    width=500,
                    height=300,
                   )

dispersion.scatter([5,6,7,4,5,2,8,9,1,7], trendline=True)
Como pueden observar, es muy fácil y sencillo. El argumento trendline estar en True, nos mostrara la linea de tendencia.

Histograma:

GooPyCharts nos permite la creación de histogramas. Todo lo que debemos hacer es utilizar el método hist el cual toma una lista de entradas. Veamos un pequeño ejemplo:
# Importamos el objeto "figure"
from gpcharts import figure

histograma = figure('Distribution',xlabel='value')
histograma.hist([1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,3,3,3,3,4,4,5,6,7,8,8,8,8,8,9,9,9,10,11,12,13,13,13,13,14])

Gráfico de Barras:

Ahora vamos a crear un simple gráfico de barras horizontal:
# Importamos el objeto "figure"
from gpcharts import figure

barras = figure('Porcentaje de consumo de Alcohol')
barras.bar(['Porcentaje','Valor 1','Valor 2', 'Valor 3'],['Valor',45,50, 40])

Más ejemplos:

DateTime Graph

fig3 = figure()
fig3.title = 'Weather over Days'
fig3.ylabel = 'Temperature'
fig3.height = 800
fig3.width = 1000

xVals = ['Dates','2016-03-20','2016-03-21','2016-03-25','2016-04-01']
yVals = [['Shakuras','Korhal','Aiur'],[10,30,40],[12,28,41],[15,34,38],[8,33,47]]
fig3.plot(xVals,yVals)
Índice
  • Line Graph with Two Lines
  • Line Graph with Two Lines

    fig2 = figure(title='Two lines',xlabel='Days',ylabel='Count',height=600,width=600)
    xVals = ['Mon','Tues','Wed','Thurs','Fri']
    yVals = [[5,4],[8,7],[4,8],[10,10],[3,12]]
    fig2.plot(xVals,yVals)
    

    ¿Que tal? Interesante ¿No?. Estoy seguro que igual que a mi, esto te servirá de mucho.

    ¿Alguna duda? No dudes en dejar tu comentario.

    Mi nombre es Luis, y fue un placer compartir mis conocimientos con todos ustedes :D.

    1. Unknown dice:

      Hola!!
      Gracias! Excelente artículo. Muy útil.
      Me gustaría dejarte mi inquietud y e si esbque tienes ejemplos de esto combinado con datos leídos desde una base de datos y como insertar el gráfico en un correo electrónico y enviar este.

      Agradecido,
      Saludos
      Victor

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

    Subir
    White Monkey