Python Bokeh: visualización del conjunto de datos de Iris

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 plottingmó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.

  1. Importar los módulos requeridos:
    • figure, output_file y show de bokeh.plotting
    • flores de bokeh.sampledata.iris
  2. Crea una instancia de un objeto de figura con el título.
  3. Dé los nombres al eje x y al eje y.
  4. Trace los gráficos para las 3 especies.
  5. 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.

  1. Importar los módulos requeridos:
    • figure, output_file y show de bokeh.plotting
    • flores de bokeh.sampledata.iris
  2. Crea una instancia de un objeto de figura con el título.
  3. Dé los nombres al eje x y al eje y.
  4. Trace los gráficos para las 3 especies.
  5. 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 :

Publicación traducida automáticamente

Artículo escrito por Yash_R 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 *