Bokeh es una visualización de datos interactiva de Python. Representa sus tramas usando HTML y JavaScript. Se dirige a los navegadores web modernos para presentaciones que proporcionan una construcción elegante y concisa de gráficos novedosos con interactividad de alto rendimiento.
Bokeh se puede utilizar para visualizar el conjunto de datos de flores de Iris. La visualización se realiza mediante el plotting
módulo. Aquí usaremos el conjunto de datos de Iris que nos proporcionó Bokeh.
Descargando el conjunto de datos:
Para descargar el conjunto de datos de Iris, ejecute el siguiente comando en la línea de comando:
bokeh sampledata
Alternativamente, también podemos ejecutar el siguiente código de Python:
import bokeh bokeh.sampledata.download()
Analizando el conjunto de datos:
En los datos de muestra proporcionados por Bokeh, hay un archivo iris.csv, este es el conjunto de datos de Iris. A continuación se muestra un vistazo al archivo iris.csv:
sepal_length sepal_width petal_length petal_width species 5.1 3.5 1.4 0.2 setosa 4.9 3 1.4 0.2 setosa 4.7 3.2 1.3 0.2 setosa 4.6 3.1 1.5 0.2 setosa 5 3.6 1.4 0.2 setosa
El conjunto de datos contiene 5 atributos que son:
- sépalo_longitud en cm
- sépalo_ancho en cm
- longitud_pétalo en cm
- ancho_pétalo en cm
- especie tiene 3 tipos de especies de flores:
- setosa
- versicolor
- virginica
Cada especie tiene 50 registros y el total de entradas es de 150.
Visualización del conjunto de datos:
Trazaremos gráficos para visualizar la agrupación de los datos para las 3 especies.
Ejemplo 1: aquí se trazará un gráfico con la longitud de los pétalos en el eje x y la anchura de los pétalos en el eje y.
- Importar los módulos requeridos:
- figure, output_file y show de bokeh.plotting
- flores de bokeh.sampledata.iris
- Crea una instancia de un objeto de figura con el título.
- Dé los nombres al eje x y al eje y.
- Trace los gráficos para las 3 especies.
- Muestra el modelo.
# importing the modules from bokeh.sampledata.iris import flowers from bokeh.plotting import figure, show, output_file # file to save the model output_file("gfg.html") # instantiating the figure object graph = figure(title = "Iris Visualization") # labeling the x-axis and the y-axis graph.xaxis.axis_label = "Petal Length (in cm)" graph.yaxis.axis_label = "Petal Width (in cm)" # plotting for setosa petals x = flowers[flowers["species"] == "setosa"]["petal_length"] y = flowers[flowers["species"] == "setosa"]["petal_width"] color = "blue" legend_label = "setosa petals" graph.circle(x, y, color = color, legend_label = legend_label) # plotting for versicolor petals x = flowers[flowers["species"] == "versicolor"]["petal_length"] y = flowers[flowers["species"] == "versicolor"]["petal_width"] color = "yellow" legend_label = "versicolor petals" graph.circle(x, y, color = color, legend_label = legend_label) # plotting for virginica petals x = flowers[flowers["species"] == "virginica"]["petal_length"] y = flowers[flowers["species"] == "virginica"]["petal_width"] color = "red" legend_label = "virginica petals" graph.circle(x, y, color = color, legend_label = legend_label) # relocating the legend table to # avoid abstruction of the graph graph.legend.location = "top_left" # displaying the model show(graph)
Producción :
Ejemplo 2: aquí se trazará un gráfico de diagrama de dispersión con sépalos y pétalos con la longitud en el eje x y la anchura en el eje y.
- Importar los módulos requeridos:
- figure, output_file y show de bokeh.plotting
- flores de bokeh.sampledata.iris
- Crea una instancia de un objeto de figura con el título.
- Dé los nombres al eje x y al eje y.
- Trace los gráficos para las 3 especies.
- Muestra el modelo.
# importing the modules from bokeh.sampledata.iris import flowers from bokeh.plotting import figure, show, output_file # file to save the model output_file("gfg.html") # instantiating the figure object graph = figure(title = "Iris Visualization") # labeling the x-axis and the y-axis graph.xaxis.axis_label = "Length (in cm)" graph.yaxis.axis_label = "Width (in cm)" # plotting for setosa petals x = flowers[flowers["species"] == "setosa"]["petal_length"] y = flowers[flowers["species"] == "setosa"]["petal_width"] marker = "circle_cross" line_color = "blue" fill_color = "lightblue" fill_alpha = 0.4 size = 10 legend_label = "setosa petals" graph.scatter(x, y, marker = marker, line_color = line_color, fill_color = fill_color, fill_alpha = fill_alpha, size = size, legend_label = legend_label) # plotting for setosa sepals x = flowers[flowers["species"] == "setosa"]["sepal_length"] y = flowers[flowers["species"] == "setosa"]["sepal_width"] marker = "square_cross" line_color = "blue" fill_color = "lightblue" fill_alpha = 0.4 size = 10 legend_label = "setosa sepals" graph.scatter(x, y, marker = marker, line_color = line_color, fill_color = fill_color, fill_alpha = fill_alpha, size = size, legend_label = legend_label) # plotting for versicolor petals x = flowers[flowers["species"] == "versicolor"]["petal_length"] y = flowers[flowers["species"] == "versicolor"]["petal_width"] marker = "circle_cross" line_color = "yellow" fill_color = "lightyellow" fill_alpha = 0.4 size = 10 legend_label = "versicolor petals" graph.scatter(x, y, marker = marker, line_color = line_color, fill_color = fill_color, fill_alpha = fill_alpha, size = size, legend_label = legend_label) # plotting for versicolor sepals x = flowers[flowers["species"] == "versicolor"]["sepal_length"] y = flowers[flowers["species"] == "versicolor"]["sepal_width"] marker = "square_cross" line_color = "yellow" fill_color = "lightyellow" fill_alpha = 0.4 size = 10 legend_label = "versicolor sepals" graph.scatter(x, y, marker = marker, line_color = line_color, fill_color = fill_color, fill_alpha = fill_alpha, size = size, legend_label = legend_label) # plotting for virginica petals x = flowers[flowers["species"] == "virginica"]["petal_length"] y = flowers[flowers["species"] == "virginica"]["petal_width"] marker = "circle_cross" line_color = "red" fill_color = "lightcoral" fill_alpha = 0.4 size = 10 legend_label = "virginica petals" graph.scatter(x, y, marker = marker, line_color = line_color, fill_color = fill_color, fill_alpha = fill_alpha, size = size, legend_label = legend_label) # plotting for virginica sepals x = flowers[flowers["species"] == "virginica"]["sepal_length"] y = flowers[flowers["species"] == "virginica"]["sepal_width"] marker = "square_cross" line_color = "red" fill_color = "lightcoral" fill_alpha = 0.4 size = 10 legend_label = "virginica sepals" graph.scatter(x, y, marker = marker, line_color = line_color, fill_color = fill_color, fill_alpha = fill_alpha, size = size, legend_label = legend_label) # relocating the legend table to # avoid abstruction of the graph graph.legend.location = "top_left" # displaying the model show(graph)
Producción :