Plotly: gráfico de boxeo, gráfico de violín y gráfico de contorno

Este capítulo se centra en una comprensión detallada de varias tramas, incluida la trama de caja, la trama de violín, la trama de contorno y la trama de carcaj. Comenzaremos con el siguiente diagrama de caja.

Gráfico de caja

Un diagrama de caja muestra un resumen del conjunto de datos que contiene el mínimo primer cuartil, mediana, tercer cuartil, y máximo… En un diagrama de caja, dibujamos un rectángulo desde el primer cuartil hasta el tercer cuartil. La línea vertical atraviesa el cuadro en la mediana. Las líneas que corren verticalmente desde rectángulos que indican variabilidad fuera de los cuartiles superior e inferior se denominan bigotes. Por lo tanto, el diagrama de caja también se conoce como rectangular y sección de bigote… Los bigotes van de cada cuartil al mínimo o al máximo.

Gráfico de caja

Para dibujar un gráfico rectangular, tenemos que usar go.Box () función. Las series de datos se pueden asignar al parámetro xoy. En consecuencia, el diagrama de caja se dibujará horizontal o verticalmente. El siguiente ejemplo convierte las cifras de ventas de una empresa específica en sus diversas sucursales en un gráfico rectangular horizontal. Muestra la mediana de los valores mínimo y máximo.

trace1 = go.Box(y = [1140,1460,489,594,502,508,370,200])
data = [trace1]
fig = go.Figure(data)
iplot(fig)

El mismo resultado será el siguiente:

Parámetro BoxPoints

EN go.Box () La función se puede configurar con varios otros parámetros para controlar la apariencia y el comportamiento del gráfico rectangular. Uno de estos parámetros es el parámetro boxmean.

EN caja De forma predeterminada, el parámetro se establece en verdadero. Como resultado, la media de la distribución subyacente de los rectángulos se muestra como una línea discontinua dentro de los rectángulos. Si se establece en sd, también se muestra la desviación estándar de la distribución.

EN cajas el valor predeterminado es «emisiones«. Solo se muestran los puntos de muestra fuera de los bigotes. Si se sospecha de valores atípicos, se muestran los valores atípicos y los puntos son menores que 4» Q1-3 «Q3 o mayores que 4» Q3-3 «Q1 resaltado. Si es falso, solo rectángulos con no se muestran puntos de muestreo.

En el siguiente ejemplo sendero de caja trazada con desviación estándar y puntos atípicos.

trc = go.Box(
   y = [
      0.75, 5.25, 5.5, 6, 6.2, 6.6, 6.80, 7.0, 7.2, 7.5, 7.5, 7.75, 8.15,
      8.15, 8.65, 8.93, 9.2, 9.5, 10, 10.25, 11.5, 12, 16, 20.90, 22.3, 23.25
   ],
   boxpoints="suspectedoutliers", boxmean = 'sd'
)
data = [trc]
fig = go.Figure(data)
iplot(fig)

El resultado de lo mismo se enumera a continuación:

Rastreo de caja

Plotly de violín

Los diagramas de violín son similares a los diagramas de caja, excepto que también muestran la densidad de probabilidad de los datos en diferentes valores. Las gráficas de violín incluirán un marcador para la mediana de los datos y un rectángulo que indica el rango intercuartílico, como en las gráficas rectangulares estándar. Superpuesta a esta gráfica rectangular está la estimación de la densidad del grano. Al igual que los diagramas de caja, los diagramas de violín se utilizan para representar la comparación de la distribución de variables (o distribuciones de muestras) entre diferentes «categorías».

Un diagrama de violín es más informativo que un diagrama de caja simple. De hecho, mientras que el gráfico rectangular solo muestra estadísticas de resumen como media / mediana y rango intercuartílico, el gráfico de violín muestra difusión completa de datos

Vuelve el objeto de rastro de violín ir.Violín () funcionar en Graph_objects módulo. Para mostrar el diagrama de caja subyacente, boxplot_visible el atributo se establece en Verdadero. Del mismo modo, al establecer meanline_visible cierto, se muestra una línea dentro de los violines correspondiente a la media de la muestra.

El siguiente ejemplo muestra cómo se muestra la trama de un violín usando funciones de trama.

import numpy as np
np.random.seed(10)
c1 = np.random.normal(100, 10, 200)
c2 = np.random.normal(80, 30, 200)
trace1 = go.Violin(y = c1, meanline_visible = True)
trace2 = go.Violin(y = c2, box_visible = True)
data = [trace1, trace2]
fig = go.Figure(data = data)
iplot(fig)

El resultado se ve así:

Plotly de violín

Dibujo de contorno

El gráfico de contorno 2D muestra las líneas de contorno de una matriz z numérica 2D, es decir, líneas interpoladas isvalues de d. La línea de contorno de una función de dos variables es una curva a lo largo de la cual la función tiene un valor constante, de modo que la curva conecta puntos de igual valor.

Un gráfico de contorno es adecuado si desea ver cómo cambia algún valor Z dependiendo de dos entradas, X y Y tal que Z = f (X, Y)… Una línea de contorno o isolínea de una función de dos variables es una curva a lo largo de la cual la función tiene un valor constante.

Las variables independientes xey generalmente están restringidas a una cuadrícula regular llamada cuadrícula. Numpy.meshgrid crea una cuadrícula rectangular a partir de una matriz de valores xy una matriz de valores y.

Primero creemos los valores de datos para x, y y z usando linspace () función de la biblioteca Numpy. Nosotros creamos cuadrícula a partir de los valores xey y obtener la matriz z que consta de la raíz cuadrada de x2 + y2

Tenemos ir.Contour () funcionar en Graph_objects el módulo que acepta x,y y z atributos. El siguiente fragmento de código muestra un gráfico de contorno de x, y y z los valores se calculan como se indica arriba.

import numpy as np
xlist = np.linspace(-3.0, 3.0, 100)
ylist = np.linspace(-3.0, 3.0, 100)
X, Y = np.meshgrid(xlist, ylist)
Z = np.sqrt(X**2 + Y**2)
trace = go.Contour(x = xlist, y = ylist, z = Z)
data = [trace]
fig = go.Figure(data)
iplot(fig)

El resultado se ve así:

Carta de contorno

Un gráfico de contorno se puede configurar con una o más de las siguientes opciones:

  • Transponer (booleano) – Transponer datos z.

Si un xtype (o ytipo) es igual a «matriz», las coordenadas x / y se dan como «x» / «y». Si está «escalado», las coordenadas x se dan como «x0» y «dx«.

  • EN conectar brechas El parámetro determina si se llenan los huecos en los datos z.

  • Valor por defecto ncontours el parámetro es 15. El número real de contornos se seleccionará automáticamente menor o igual que el valor de «ncontours». Tiene efecto solo si el autocontour se establece en True.

Tipo de esquema predeterminado: «niveles«por lo tanto, los datos se presentan como un gráfico de contorno con varios niveles mostrados. Si aguantar, los datos se presentan como restricciones con un área no válida sombreada como se indica operación y agradecer opciones.

showline – Determina si se trazan curvas de nivel.

zauto es un Cierto el valor predeterminado y determina si el dominio de color se calcula en relación con la entrada (aquí en `z`) o los límites establecidos en`zmin`y`zmax`Por defecto`Mintiendo`cuando` zmin` y` zmax` son establecidos por el usuario.

Plotly de carcaj

La conspiración del carcaj también se conoce como gráfico de velocidad… Muestra los vectores de velocidad como flechas con componentes (u, v) en los puntos (x, y). Para dibujar la trama del Carcaj, usaremos create_quiver () función definida en figure_factory módulo en Plotly.

La API de Python Plotly contiene un módulo de fábrica de formas que incluye muchas envolturas que crean tipos de gráficos únicos que aún no están incluidos en plotly.jsUna biblioteca de trazado de código abierto de Plotly.

La función create_quiver () toma los siguientes parámetros:

  • X – coordenadas x de la ubicación de las flechas

  • y – las coordenadas y de la ubicación de las flechas

  • usted – x componentes de los vectores de flecha

  • v son las componentes y de los vectores flecha

  • escala – escala el tamaño de las flechas

  • arrow_scale es la longitud de la punta de flecha.

  • ángulo – el ángulo de inclinación de la pluma.

El siguiente código muestra un diagrama de carcaj simple en un cuaderno de Jupyter:

import plotly.figure_factory as ff
import numpy as np
x,y = np.meshgrid(np.arange(-2, 2, .2), np.arange(-2, 2, .25))
z = x*np.exp(-x**2 - y**2)
v, u = np.gradient(z, .2, .2)

# Create quiver figure
fig = ff.create_quiver(x, y, u, v,
scale = .25, arrow_scale = .4,
name="quiver", line = dict(width = 1))
iplot(fig)

La salida del código es la siguiente:

Conspiración carcaj

🚫