Gráfico de violín usando Plotly en Python

Violin Plot es un método para visualizar la distribución de datos numéricos de diferentes variables. Es similar a Box Plot pero con un gráfico rotado en cada lado, que brinda más información sobre la estimación de la densidad en el eje y. La densidad se refleja y se voltea y la forma resultante se rellena, creando una imagen que se asemeja a un violín. La ventaja de un diagrama de violín es que puede mostrar matices en la distribución que no son perceptibles en un diagrama de caja. Por otro lado, el diagrama de caja muestra más claramente los valores atípicos en los datos.

Los diagramas de violín contienen más información que los diagramas de caja, son menos populares. Debido a su impopularidad, su significado puede ser más difícil de comprender para muchos lectores que no están familiarizados con la representación de la trama del violín.

Plotly es un módulo de Python de código abierto que es una herramienta de visualización de datos muy poderosa. Admite varios gráficos para representar y estudiar datos fácilmente. Este artículo analiza cómo se puede obtener un diagrama de violín utilizando Plotly con la ayuda de sus dos clases, a saber, express y graph_objects. 

Las clases se pueden elegir según la conveniencia de cada uno, pero el enfoque sigue siendo el mismo.

Acercarse:

  • Módulo de importación
  • Datos de importacion
  • Llame a violinplot con los parámetros requeridos
  • Gráfico de visualización

Función compatible con Plotly.express

Sintaxis:

violin( data_frame=Ninguno , x=Ninguno , y=Ninguno , color=Ninguno , facet_row=Ninguno , facet_col=Ninguno , facet_col_wrap=0 , facet_row_spacing=Ninguno , facet_col_spacing=Ninguno , hover_name=Ninguno , hover_data=Ninguno , custom_data=Ninguno , animation_frame=Ninguno , animation_group=Ninguno , category_orders=Ninguno , etiquetas=Ninguno , color_discrete_sequence=Ninguno , color_discrete_map=Ninguno , orientación=Ninguno, violinmode=Ninguno , log_x=False , log_y=False , range_x=Ninguno , range_y=Ninguno , puntos=Ninguno , box=False , title=Ninguno , plantilla=Ninguno , ancho=Ninguno , alto=Ninguno)

Función compatible con Plotly.graph_objects

Sintaxis:

Violín ( arg , grupo de alineación , ancho de banda , box_visible , customdata , customdatasrc , fillcolor , hoverinfo , hoverinfosrc , hoverlabel , hoveron , hovertemplate , hovertemplatesrc , hovertext , hovertextsrc , ids , idssrc , jitter , legendgroup , línea , marcador , línea media , meta, metasrc , nombre , offsetgroup , opacidad , orientación , pointpos , puntos , scalegroup , scalemode , seleccionado , puntos seleccionados , showlegend , side , span , spanmode , flujo , texto , textsrc , uid , urevision , no seleccionado , visible , ancho , x, x0 , eje x , xsrc , y , y0 , eje y , ysrc , ** kwargs )

Datos en uso: Bestsellers

Trama básica de violín

Acercarse

  • Módulo de importación
  • Crear o cargar marco de datos
  • Trazar usando violín()
  • Gráfico de visualización

Ejemplo 1: Uso de Plotly.express

Python3

import plotly.express as pt
import pandas as pd
  
data = pd.read_csv("C:\\Users\\Vanshi\\Desktop\\gfg\\bestsellers.csv")
df = pd.DataFrame(data)
data = df.head()
  
fig = pt.violin(data, y="Year")
fig.show()

Producción:

Ejemplo 2: uso de Graph_objects

Python3

import plotly.graph_objects as go
import pandas as pd
  
data = pd.read_csv("C:\\Users\\Vanshi\\Desktop\\gfg\\bestsellers.csv")
df = pd.DataFrame(data)
  
plot = go.Figure(data=go.Violin(y=df['Price']))
plot.show()

Producción:

Diagrama de violín con diagrama de caja y de dispersión

Los ejemplos anteriores representan una trama de violín simple, pero se puede visualizar junto con otra representación de visualización dentro del mismo marco. El ejemplo dado muestra cómo se puede dibujar un diagrama de violín junto con diagramas de caja y diagramas de dispersión.

Ejemplo 1: Uso de Plotly.express 

Python3

import plotly.express as pt
import pandas as pd
  
data = pd.read_csv("C:\\Users\\Vanshi\\Desktop\\gfg\\bestsellers.csv")
df = pd.DataFrame(data)
data = df.head()
  
# display box and scatter plot along with violin plot
fig = pt.violin(data, y="Year", box=True, points='all')
  
fig.show()

Producción:

Ejemplo 2: Uso de graph_objects

Python3

import plotly.graph_objects as go
import pandas as pd
  
data = pd.read_csv("C:\\Users\\Vanshi\\Desktop\\gfg\\bestsellers.csv")
df = pd.DataFrame(data)
  
plot = go.Figure(data=go.Violin(
    y=df['Price'], points='all', pointpos=2, box_visible=True))
  
plot.show()

Producción:

Parcela de violín múltiple

Es posible usar plotly para visualizar múltiples diagramas de violín en un cuadro para compararlos simultáneamente.

Ejemplo 1: Uso de Plotly express

Python3

import plotly.express as px
import pandas as pd
  
data = pd.read_csv("C:\\Users\\Vanshi\\Desktop\\gfg\\bestsellers.csv")
df = pd.DataFrame(data)
  
plot = px.violin(x=df['Year'], y=df['Price'])
plot.show()

Producción:

Ejemplo 2: Uso de graph_objects

Python3

import plotly.graph_objects as go
import pandas as pd
  
data = pd.read_csv("C:\\Users\\Vanshi\\Desktop\\gfg\\bestsellers.csv")
df = pd.DataFrame(data)
  
plot = go.Figure(data=go.Violin(x=df['Year'], y=df['Price']))
plot.show()

Producción:

Trama de violín agrupada

Una trama de violín agrupada permite la comparación de múltiples tramas de violín pero que tienen algo en común, es decir, permite la comparación de dos tramas de violín contemporáneas.

Ejemplo 1: Uso de Plotly express

Python3

import plotly.express as px
import pandas as pd
  
data = pd.read_csv("C:\\Users\\Vanshi\\Desktop\\gfg\\bestsellers.csv")
df = pd.DataFrame(data)
  
plot = px.violin(df, x=df['Year'], y=df['Price'], color=df['Genre'])
plot.show()

Producción:

Ejemplo 2: Uso de graph_objects

Python3

import plotly.graph_objects as go
import pandas as pd
  
data = pd.read_csv("C:\\Users\\Vanshi\\Desktop\\gfg\\bestsellers.csv")
df = pd.DataFrame(data)
  
plot = go.Figure()
  
plot.add_trace(go.Violin(x=df['Year'][df['Genre'] == 'Fiction'],
                         y=df['Price'], line_color='red', name='Fiction'))
  
plot.add_trace(go.Violin(x=df['Year'][df['Genre'] == 'Non Fiction'],
                         y=df['Price'], line_color='blue', name='Non-Fiction'))
  
plot.update_layout(violinmode='group')
plot.show()

Producción:

Publicación traducida automáticamente

Artículo escrito por vanshikagoyal43 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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