Python Plotly Library es una biblioteca de código abierto que se puede usar para visualizar y comprender datos de manera simple y sencilla. Plotly admite varios tipos de gráficos, como gráficos de líneas, gráficos de dispersión, histogramas, gráficos de Cox, etc. Entonces, todos deben preguntarse por qué Plotly sobre otras herramientas o bibliotecas de visualización. Aquí está la respuesta:
- Plotly tiene capacidades de herramientas flotantes que nos permiten detectar cualquier valor atípico o anomalía en una gran cantidad de puntos de datos.
- Es visualmente atractivo que puede ser aceptado por una amplia gama de audiencias.
- Nos permite la personalización infinita de nuestros gráficos que hace que nuestra trama sea más significativa y comprensible para los demás.
Este tutorial tiene como objetivo brindarle información sobre Plotly con la ayuda del enorme conjunto de datos que explica Plotly desde lo básico para avanzar y cubre todos los gráficos utilizados popularmente.
Tabla de contenidos
Artículos recientes en Plotly !!!
Instalación
Plotly no viene integrado con Python. Para instalarlo, escriba el siguiente comando en la terminal.
pip install plotly
Esto puede llevar algún tiempo, ya que también instalará las dependencias.
Estructura del paquete de Plotly
Hay tres módulos principales en Plotly. Están:
- plotly.plotly
- plotly.graph.objetos
- plotly.herramientas
plotly.plotly actúa como interfaz entre la máquina local y Plotly. Contiene funciones que requieren una respuesta del servidor de Plotly.
El módulo plotly.graph_objects contiene los objetos (Figura, diseño, datos y la definición de los gráficos como diagrama de dispersión, gráfico de líneas) que son responsables de crear los gráficos. La figura se puede representar como dict o instancias de plotly.graph_objects.Figure y estos se serializan como JSON antes de pasar a plotly.js. Considere el siguiente ejemplo para una mejor comprensión.
Nota: el módulo plotly.express puede crear la figura completa a la vez. Utiliza graph_objects internamente y devuelve la instancia de graph_objects.Figure.
Ejemplo:
Python3
import plotly.express as px # Creating the Figure instance fig = px.line(x=[1,2, 3], y=[1, 2, 3]) # printing the figure instance print(fig)
Producción:
Las figuras se representan como árboles en los que el Node raíz tiene tres atributos de capa superior: datos, diseño y marcos, y los Nodes con nombre se denominan «atributos». Considere el ejemplo anterior, layout.legend es un diccionario anidado donde la leyenda es la clave dentro del diccionario cuyo valor también es un diccionario.
El módulo plotly.tools contiene varias herramientas en forma de funciones que pueden mejorar la experiencia de Plotly.
Empezando
Después de aprender la instalación y la estructura básica de Plotly, creemos un gráfico simple utilizando los conjuntos de datos predefinidos definidos por plotly.
Ejemplo:
Python3
import plotly.express as px # Creating the Figure instance fig = px.line(x=[1, 2, 3], y=[1, 2, 3]) # showing the plot fig.show()
Producción:
En el ejemplo anterior, se importa el módulo plotly.express que devuelve la instancia de Figure. Hemos creado un gráfico de líneas simple pasando las coordenadas x, y de los puntos a graficar.
Creación de diferentes tipos de gráficos
Con plotly podemos crear más de 40 gráficos y cada gráfico se puede crear usando la clase plotly.express y plotly.graph_objects. Veamos algunos gráficos de uso común con la ayuda de Plotly.
Gráfico de linea
El diagrama de líneas en Plotly es una anexión muy accesible e ilustre a plotly que administra una variedad de tipos de datos y ensambla estadísticas fáciles de diseñar. Con px.line , cada posición de datos se representa como un vértice (cuya ubicación viene dada por las columnas x e y) de una marca de polilínea en el espacio 2D.
Ejemplo:
Python3
import plotly.express as px # using the iris dataset df = px.data.iris() # plotting the line chart fig = px.line(df, x="species", y="petal_width") # showing the plot fig.show()
Producción:
Consulte los siguientes artículos para obtener información detallada sobre los gráficos de líneas.
Gráfico de barras
Un gráfico de barras es una representación pictórica de datos que presenta datos categóricos con barras rectangulares con alturas o longitudes proporcionales a los valores que representan. En otras palabras, es la representación pictórica del conjunto de datos. Estos conjuntos de datos contienen los valores numéricos de las variables que representan la longitud o la altura.
Ejemplo:
Python3
import plotly.express as px # using the iris dataset df = px.data.iris() # plotting the bar chart fig = px.bar(df, x="sepal_width", y="sepal_length") # showing the plot fig.show()
Producción:
Consulte los siguientes artículos para obtener información detallada sobre el gráfico de barras.
- Gráfico de barras usando Plotly en Python
- ¿Cómo crear un gráfico de barras apiladas en Python-Plotly?
- ¿Cómo agrupar gráficos de barras en Python-Plotly?
Histogramas
Un histograma contiene un área rectangular para mostrar la información estadística que es proporcional a la frecuencia de una variable y su ancho en intervalos numéricos sucesivos. Una representación gráfica que administra un grupo de puntos de datos en diferentes rangos especificados. Tiene una característica especial que no muestra espacios entre las barras y es similar a un gráfico de barras verticales.
Ejemplo:
Python3
import plotly.express as px # using the iris dataset df = px.data.iris() # plotting the histogram fig = px.histogram(df, x="sepal_length", y="petal_width") # showing the plot fig.show()
Producción:
Consulte los siguientes artículos para obtener información detallada sobre los histogramas.
- Histograma usando Plotly en Python
- Histogramas en Plotly usando la clase graph_objects
- ¿Cómo crear un histograma acumulativo en Plotly?
Gráficas de dispersión y de burbujas
Un gráfico de dispersión es un conjunto de puntos punteados para representar datos individuales en el eje horizontal y vertical. Un gráfico en el que los valores de dos variables se trazan a lo largo del eje X y el eje Y, el patrón de los puntos resultantes revela una correlación entre ellos.
Un diagrama de burbujas es un diagrama de dispersión con burbujas (círculos llenos de color). Las burbujas tienen varios tamaños que dependen de otra variable en los datos. Se puede crear utilizando el método scatter() de plotly.express.
Ejemplo 1: diagrama de dispersión
Python3
import plotly.express as px # using the iris dataset df = px.data.iris() # plotting the scatter chart fig = px.scatter(df, x="species", y="petal_width") # showing the plot fig.show()
Producción:
Ejemplo 2: gráfico de burbujas
Python3
import plotly.express as px # using the iris dataset df = px.data.iris() # plotting the bubble chart fig = px.scatter(df, x="species", y="petal_width", size="petal_length", color="species") # showing the plot fig.show()
Producción:
Consulte los siguientes artículos para obtener información detallada sobre los diagramas de dispersión y los diagramas de burbujas.
- función plotly.express.scatter() en Python
- Diagrama de dispersión en Plotly usando la clase graph_objects
- Diagrama de dispersión usando Plotly en Python
- Gráfico de burbujas usando Plotly en Python
Gráficos circulares
Un gráfico circular es un gráfico estadístico circular, que se divide en porciones para ilustrar proporciones numéricas. Representa un gráfico especial que utiliza «porciones circulares», donde cada sector muestra los tamaños relativos de los datos. Un gráfico circular se corta en forma de radios en segmentos que describen frecuencias relativas o magnitudes, también conocido como gráfico circular.
Ejemplo:
Python3
import plotly.express as px # using the tips dataset df = px.data.tips() # plotting the pie chart fig = px.pie(df, values="total_bill", names="day") # showing the plot fig.show()
Producción:
Consulte los siguientes artículos para obtener información detallada sobre los gráficos circulares.
Diagramas de caja
Un diagrama de caja , también conocido como diagrama de bigotes, se crea para mostrar el resumen del conjunto de valores de datos que tienen propiedades como mínimo, primer cuartil, mediana, tercer cuartil y máximo. En el diagrama de caja, se crea una caja desde el primer cuartil hasta el tercer cuartil, también hay una línea vertical que atraviesa la caja en la mediana. Aquí, el eje x indica los datos que se van a trazar, mientras que el eje y muestra la distribución de frecuencias.
Ejemplo:
Python3
import plotly.express as px # using the tips dataset df = px.data.tips() # plotting the box chart fig = px.box(df, x="day", y="total_bill") # showing the plot fig.show()
Producción:
Consulte los siguientes artículos para obtener información detallada sobre los diagramas de caja.
- Diagrama de caja usando Plotly en Python
- Diagrama de caja en Plotly usando la clase graph_objects
- ¿Cómo crear un diagrama de caja agrupado en Plotly?
Parcelas de violín
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.
Ejemplo:
Python3
import plotly.express as px # using the tips dataset df = px.data.tips() # plotting the violin chart fig = px.violin(df, x="day", y="total_bill") # showing the plot fig.show()
Producción:
Consulte los artículos a continuación para obtener información detallada sobre las tramas de violín.
- Parcelas de violín usando Plotly
Diagramas de Gantt
El gráfico de tabla de tiempo de normalización de actividad generalizada (GANTT) es un tipo de gráfico en el que están presentes una serie de líneas horizontales que muestran la cantidad de trabajo realizado o la producción completada en un período de tiempo determinado en relación con la cantidad planificada para esos proyectos.
Ejemplo:
Python3
import plotly.figure_factory as ff # Data to be plotted df = [dict(Task="A", Start='2020-01-01', Finish='2009-02-02'), dict(Task="Job B", Start='2020-03-01', Finish='2020-11-11'), dict(Task="Job C", Start='2020-08-06', Finish='2020-09-21')] # Creating the plot fig = ff.create_gantt(df) fig.show()
Producción:
Consulte los siguientes artículos para obtener información detallada sobre los diagramas de Gantt.
Gráficos de contorno
Los gráficos de contorno, también llamados gráficos de nivel, son una herramienta para realizar análisis multivariados y visualizar gráficos 3D en un espacio 2D. Si consideramos X e Y como nuestras variables que queremos graficar, entonces la respuesta Z se graficará como cortes en el plano XY debido a que los contornos a veces se denominan cortes Z o isorrespuesta.
Los gráficos de contorno se utilizan en el caso de que desee ver los cambios en algún valor (Z) como una función con respecto a los dos valores (X, Y). Considere el siguiente ejemplo.
Ejemplo:
Python3
import plotly.graph_objects as go # Creating the X, Y value that will # change the values of Z as a function feature_x = np.arange(0, 50, 2) feature_y = np.arange(0, 50, 3) # Creating 2-D grid of features [X, Y] = np.meshgrid(feature_x, feature_y) Z = np.cos(X / 2) + np.sin(Y / 4) # plotting the figure fig = go.Figure(data = go.Contour(x = feature_x, y = feature_y, z = Z)) fig.show()
Producción:
Consulte los artículos a continuación para obtener información detallada sobre los gráficos de contorno.
mapas de calor
El mapa de calor se define como una representación gráfica de datos que utiliza colores para visualizar el valor de la array. En este, para representar valores más comunes o actividades mayores se utilizan colores más brillantes básicamente colores rojizos y para representar valores menos comunes o de actividad se prefieren colores más oscuros. El mapa de calor también se define por el nombre de la array de sombreado.
Ejemplo:
Python3
import plotly.graph_objects as go feature_x = np.arange(0, 50, 2) feature_y = np.arange(0, 50, 3) # Creating 2-D grid of features [X, Y] = np.meshgrid(feature_x, feature_y) Z = np.cos(X / 2) + np.sin(Y / 4) # plotting the figure fig = go.Figure(data = go.Heatmap(x = feature_x, y = feature_y, z = Z,)) fig.show()
Producción:
Consulte los artículos a continuación para obtener información detallada sobre los mapas de calor.
- Crear mapas de calor usando la clase graph_objects en Plotly
- Mapas de calor anotados usando Plotly en Python
Barras de error
Para funciones que representan puntos de datos 2D como px.scatter, px.line, px.bar, etc., las barras de error se dan como un nombre de columna que es el valor de error_x (para el error en la posición x) y error_y (para el error en la posición y). Las barras de error son la alternancia de presentación gráfica de datos y se utilizan en gráficos para implicar el error o la incertidumbre en una capacidad informada.
Ejemplo:
Python3
import plotly.express as px # using the iris dataset df = px.data.iris() # Calculating the error field df["error"] = df["petal_length"]/100 # plotting the scatter chart fig = px.scatter(df, x="species", y="petal_width", error_x="error", error_y="error") # showing the plot fig.show()
Producción:
Gráficos de líneas 3D
El gráfico de líneas en plotly es una anexión muy accesible e ilustre a plotly que administra una variedad de tipos de datos y ensambla estadísticas fáciles de diseñar. Con px.line_3d , cada posición de datos se representa como un vértice (cuya ubicación viene dada por las columnas x, y y z) de una marca de polilínea en el espacio 3D.
Ejemplo:
Python3
import plotly.express as px # data to be plotted df = px.data.tips() # plotting the figure fig = px.line_3d(df, x="sex", y="day", z="time", color="sex") fig.show()
Producción:
Consulte los siguientes artículos para obtener información detallada sobre los gráficos de líneas 3D.
Gráfico de dispersión 3D
3D Scatter Plot puede trazar gráficos bidimensionales que se pueden mejorar mediante el mapeo de hasta tres variables adicionales mientras se usa la semántica de los parámetros de tono, tamaño y estilo. Todos los parámetros controlan la semántica visual que se utilizan para identificar los diferentes subconjuntos. El uso de semántica redundante puede ser útil para hacer que los gráficos sean más accesibles. Se puede crear usando la función scatter_3d de la clase plotly.express.
Ejemplo:
Python3
import plotly.express as px # Data to be plotted df = px.data.iris() # Plotting the figure fig = px.scatter_3d(df, x = 'sepal_width', y = 'sepal_length', z = 'petal_width', color = 'species') fig.show()
Producción:
Consulte los artículos a continuación para obtener información detallada sobre el diagrama de dispersión 3D.
- Diagrama de dispersión 3D usando Plotly en Python
- Gráfico de dispersión 3D utilizando la clase graph_objects en Plotly-Python
- Gráfico de burbujas 3D usando Plotly en Python
Gráficos de superficie 3D
La gráfica de superficie es aquella gráfica que tiene datos de tres dimensiones, que son X, Y y Z. En lugar de mostrar puntos de datos individuales, la gráfica de superficie tiene una relación funcional entre la variable dependiente Y y tiene dos variables independientes X y Z. Esta gráfica es Se utiliza para distinguir entre variables dependientes e independientes.
Ejemplo:
Python3
import plotly.graph_objects as go import numpy as np # Data to be plotted x = np.outer(np.linspace(-2, 2, 30), np.ones(30)) y = x.copy().T z = np.cos(x ** 2 + y ** 2) # plotting the figure fig = go.Figure(data=[go.Surface(x=x, y=y, z=z)]) fig.show()
Producción:
Interactuando con las tramas
Plotly proporciona varias herramientas para interactuar con los gráficos, como agregar menús desplegables, botones, controles deslizantes, etc. Estos se pueden crear utilizando el atributo de menú de actualización del diseño del gráfico. Veamos cómo hacer todas esas cosas en detalle.
Crear menú desplegable en Plotly
Un menú desplegable es una parte del botón de menú que se muestra en una pantalla todo el tiempo. Cada botón de menú está asociado con un widget de menú que puede mostrar las opciones para ese botón de menú cuando se hace clic en él. En plotly, hay 4 métodos posibles para modificar los gráficos utilizando el método de menú de actualización.
- restyle: modificar datos o atributos de datos
- relayout: modificar los atributos de diseño
- actualizar: modificar datos y atributos de diseño
- animar: iniciar o pausar una animación
Ejemplo:
Python3
import plotly.graph_objects as px import numpy as np # creating random data through randomint # function of numpy.random np.random.seed(42) # Data to be Plotted random_x = np.random.randint(1, 101, 100) random_y = np.random.randint(1, 101, 100) plot = px.Figure(data=[px.Scatter( x=random_x, y=random_y, mode='markers',) ]) # Add dropdown plot.update_layout( updatemenus=[ dict( buttons=list([ dict( args=["type", "scatter"], label="Scatter Plot", method="restyle" ), dict( args=["type", "bar"], label="Bar Chart", method="restyle" ) ]), direction="down", ), ] ) plot.show()
Producción:
En el ejemplo anterior, hemos creado dos gráficos para los mismos datos. Se puede acceder a estas parcelas mediante el menú desplegable.
Agregar botones a la trama
En plotly, los botones personalizados de acciones se utilizan para realizar acciones rápidamente directamente desde un registro. Los botones personalizados se pueden agregar a los diseños de página en CRM, marketing y aplicaciones personalizadas. También hay 4 métodos posibles que se pueden aplicar en los botones personalizados:
- restyle: modificar datos o atributos de datos
- relayout: modificar los atributos de diseño
- actualizar: modificar datos y atributos de diseño
- animar: iniciar o pausar una animación
Ejemplo:
Python3
import plotly.graph_objects as px import pandas as pd # reading the database data = pd.read_csv("tips.csv") plot = px.Figure(data=[px.Scatter( x=data['day'], y=data['tip'], mode='markers',) ]) # Add dropdown plot.update_layout( updatemenus=[ dict( type="buttons", direction="left", buttons=list([ dict( args=["type", "scatter"], label="Scatter Plot", method="restyle" ), dict( args=["type", "bar"], label="Bar Chart", method="restyle" ) ]), ), ] ) plot.show()
Producción:
En este ejemplo también estamos creando dos gráficos diferentes en los mismos datos y ambos gráficos son accesibles mediante los botones.
Creación de controles deslizantes y selectores para el gráfico
En plotly, el control deslizante de rango es un control de entrada de tipo de rango personalizado. Permite seleccionar un valor o un rango de valores entre un rango mínimo y máximo especificado. Y el selector de rango es una herramienta para seleccionar rangos para mostrar dentro del gráfico. Proporciona botones para seleccionar rangos preconfigurados en el gráfico. También proporciona cuadros de entrada donde las fechas mínima y máxima se pueden ingresar manualmente.
Ejemplo:
Python3
import plotly.graph_objects as px import plotly.express as go import numpy as np df = go.data.tips() x = df['total_bill'] y = df['day'] plot = px.Figure(data=[px.Scatter( x=x, y=y, mode='lines',) ]) plot.update_layout( xaxis=dict( rangeselector=dict( buttons=list([ dict(count=1, step="day", stepmode="backward"), ]) ), rangeslider=dict( visible=True ), ) ) plot.show()
Producción:
Más parcelas usando Plotly
- función plotly.express.scatter_geo() en Python
- función plotly.express.scatter_polar() en Python
- función plotly.express.scatter_ternary() en Python
- función plotly.express.line_ternary() en Python
- Gráfico de área rellena usando plotly en Python
- ¿Cómo crear un gráfico de área apilada usando Plotly en Python?
- Gráfico Sunburst usando Plotly en Python
- Sunburst Plot usando la clase graph_objects en plotly
- función plotly.figure_factory.create_annotated_heatmap() en Python
- función plotly.figure_factory.create_2d_density() en Python
- Trazar contornos ternarios usando Plotly en Python
- ¿Cómo hacer Log Plots en Plotly – Python?
- Gráficos polares usando Plotly en Python
- Gráfico de contorno de alfombra usando Plotly en Python
- Parcelas ternarias en Plotly
- ¿Cómo crear una superposición ternaria usando Plotly?
- Gráfico de coordenadas paralelas usando Plotly en Python
- Gráficos de alfombra usando Plotly en Python
- Gráficos de cono 3D usando Plotly en Python
- Gráficos de volumen 3D usando Plotly en Python
- Gráficas 3D de Streamtube usando Plotly en Python
- Gráficos de malla 3D usando Plotly en Python
- ¿Cómo crear tablas usando Plotly en Python?
- función plotly.figure_factory.create_dendrogram() en Python
- Defina la posición del Node en el diagrama de Sankey en plotly
- Diagrama de Sankey usando Plotly en Python
- Gráficos de Quiver usando Plotly en Python
- Treemap usando Plotly en Python
- Treemap usando la clase graph_objects en plotly
- función plotly.figure_factory.create_candlestick() en Python
- función plotly.figure_factory.create_choropleth() en Python
- plotly.figure_factory.create_bullet() en Python
- Optimizar gráficos en Plotly usando Python
- ¿Cómo hacer gráficos de barras polares y rosa de los vientos en Plotly – Python?
Más temas sobre Plotly
- Alineación de títulos en Plotly
- Cambiar el color del borde del marcador en Plotly – Python
- Trazar gráficos en vivo usando Python Dash y Plotly
- Visualización de datos animados usando Plotly Express
- Introducción a Plotly-online usando Python
- ¿Cómo mostrar la imagen usando Plotly?
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA