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