Logotipo de Zephyrnet

3 paquetes de Julia para visualización de datos

Fecha:

3 paquetes de Julia para visualización de datos
Imagen del autor
 

El lenguaje de programación de Julia está dando nuevos pasos con herramientas de visualización de datos que son similares a matplotlib de Python y ggplot de R. Estos paquetes brindan facilidad de uso con la velocidad de C++ y procesos paralelos desde el primer momento. Por lo tanto, es bastante útil cuando visualiza un conjunto de datos grande. 

En este blog aprenderemos sobre Parcelas.jl, Tábano.jly VegaLite.jl con ejemplos de código. Entonces, comencemos instalando los paquetes requeridos. 

import Pkg; Pkg.add(["RDatasets","Plots","Gadfly","VegaLite"])

 

Parcelas.jl es una poderosa herramienta de visualización en Julia. Es un metapaquete que usa GR, PythonPlot, PGFPlotsX o Plotly en el backend. Si uno de los backend no es compatible con las funciones deseadas, siempre puede cambiar a otro sin cambiar el código. 

Plots.jl es un paquete de trazado ligero, intuitivo, conciso, flexible y consistente. 

ejemplo 1

Para mostrar la onda sinusoidal, debemos importar el paquete y luego crear las variables x e y1. 

  • x: rango de 0 a 10.
  • y: sen(x)

Para mostrar un diagrama de líneas, solo tenemos que proporcionar argumentos x e y al Plots.plot función. 

using Plots
x = range(0, 10, length=100)
y1 = sin.(x)
Plots.plot(x, y1)

 

3 paquetes de Julia para visualización de datos

 

Puede superponer el gráfico usando Plots.plot! función. Mostrará ambos gráficos del mismo eje. 

y2 = @. cos(x)^2 - 1/2 Plots.plot!(x, y2)

 

3 paquetes de Julia para visualización de datos
 

ejemplo 2

Tracemos un gráfico de barras complejo, para eso primero importaremos el cars conjunto de datos de la RDatasets paquete. 

using RDatasets
cars = dataset("datasets", "mtcars")
first(cars,5)

 

3 paquetes de Julia para visualización de datos
 

Después de eso, usaremos Plots.bar función de "Millas por galón" y QSec para cada modelo.

Hemos personalizado la función a nuestras necesidades:

  • Cambió el nombre de las etiquetas. 
  • Agrega el título.
  • Gire x ticks a 45 grados.
  • Limite el tamaño del gráfico.
  • Cambia la ubicación de la leyenda. 
  • Mostrar todos los modelos de coches.
  • Limite las marcas y.
Plots.bar(cars.Model, [cars.MPG,cars.QSec], label = ["Miles per Gallon" "QSec"], title = "Models-Miles per Gallon and Qsec", xrotation = 45, size = [600, 600], legend =:topleft, xticks =:all, yticks =0:25)

 

3 paquetes de Julia para visualización de datos
 

ejemplo 3

Para trazar gráficos circulares, solo necesitamos agregar etiquetas y valores a la Plots.pie función. También hemos añadido el título y el ancho de línea. 

x = ["A","B","C","D"]
y = [0.1,0.2,0.4,0.3]
Plots.pie(x,y,title ="KDnuggets Readers" ,l = 0.5)

 

3 paquetes de Julia para visualización de datos
 

Tábano.jl es una popular herramienta de visualización de datos y gráficos estadísticos. Está muy influenciado por la biblioteca ggplot de R. 

Características principales: 

  • Funciona con Ijulia y Jupyter Notebook. 
  • Renderice gráficos de alta calidad en SVG, PNG, Postscript y PDF.
  • Tiene una fuerte integración con DataFrames.jl.
  • También proporcionó interactividad como panorámica, zoom y alternancia.
  • Admite una gran cantidad de tipos de gráficos comunes.

ejemplo 1

Para trazar datos históricos de hombres y mujeres, importaremos los datos de la tasa de natalidad de Londres. Después de eso, convertiremos los datos de formato ancho en formato largo usando el stack función.

Nos dará las columnas de año, variable y valor. La variable será hombre o mujer, y el valor será tasa de natalidad. 

births = RDatasets.dataset("HistData", "Arbuthnot")[:,[:Year, :Males, :Females]]
stacked_birth = stack(births, [:Males, :Females])
first(stacked_birth,5)

 

3 paquetes de Julia para visualización de datos
 

Estamos apilando las columnas para que podamos mostrar dos gráficos con diferentes colores. 

La Gadfly.plot La función requiere un conjunto de datos, variables x e y, color y el tipo de gráfico. En nuestro caso, estamos mostrando un gráfico de líneas. 

using Gadfly
Gadfly.plot(stacked_birth, x=:Year, y=:value, color=:variable, Geom.line)

 

3 paquetes de Julia para visualización de datos
 

ejemplo 2

En el ejemplo, estableceremos el tamaño predeterminado y mostraremos el diagrama de caja según las variables y los valores. Estamos usando la misma función con diferentes tipos de gráficos y temas. 

Nota: puede obtener más información sobre los temas siguiendo las documentaciones Temas · Gadfly.jl.

set_default_plot_size(8cm, 12cm) Gadfly.plot( stacked_birth, x=:variable, y=:value, Geom.boxplot, Theme(default_color="red") )

 

3 paquetes de Julia para visualización de datos
 

VegaLite.jl es un paquete de trazado interactivo para el lenguaje de programación Julia. Está basado en Vega Lite y tiene una funcionalidad similar a Altair que es una biblioteca de Python interactiva, simple y rápida. 

ejemplo 1

En el ejemplo, estamos importando VegaLite y el conjunto de datos de tuberías de automóviles a @vlplot función para mostrar el gráfico de puntos. 

En nuestro caso, hemos proporcionado:

  • Tipo de parcela.
  • Variables X e Y.
  • Se agregó la columna 'Cyl' a un argumento de color. 
  • Establezca el ancho y la altura del gráfico. 

Nota: estamos convirtiendo números enteros en valores categóricos agregando :n delante del nombre de la columna. En nuestro caso, es “Cyl:n”. 

using VegaLite cars |> @vlplot( :point, x=:HP, y=:MPG, color="Cyl:n", width=400, height=300
)

 

3 paquetes de Julia para visualización de datos
 

ejemplo 2

En el segundo ejemplo, vamos a trazar un gráfico de barras de tipos de cilindros. Para el argumento x, usaremos "Cyl" como categorías, y para y, usaremos "count()" que contará el número de categorías en la columna "Cyl". 

@vlplot( data=cars, height=350, width=300, :bar, x="Cyl:n", y="count()",
)

 

3 paquetes de Julia para visualización de datos

 
 
Abid Ali Awan (@ 1abidaliawan) es un profesional científico de datos certificado al que le encanta crear modelos de aprendizaje automático. Actualmente, se está enfocando en la creación de contenido y escribiendo blogs técnicos sobre aprendizaje automático y tecnologías de ciencia de datos. Abid tiene una Maestría en Gestión de Tecnología y una licenciatura en Ingeniería de Telecomunicaciones. Su visión es construir un producto de IA utilizando una red neuronal gráfica para estudiantes que luchan contra enfermedades mentales.
 

punto_img

Información más reciente

punto_img