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)
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)
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)
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)
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)
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)
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)
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") )
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
)
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()",
)
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.
- Distribución de relaciones públicas y contenido potenciado por SEO. Consiga amplificado hoy.
- Platoblockchain. Inteligencia del Metaverso Web3. Conocimiento amplificado. Accede Aquí.
- Fuente: https://www.kdnuggets.com/2023/02/3-julia-packages-data-visualization.html?utm_source=rss&utm_medium=rss&utm_campaign=3-julia-packages-for-data-visualization