Maison  >  Article  >  développement back-end  >  Bokeh, un outil de données intéressant en python pour la visualisation de données

Bokeh, un outil de données intéressant en python pour la visualisation de données

王林
王林original
2024-09-08 16:30:04745parcourir

La visualisation des données joue un rôle essentiel dans l'interprétation de grands volumes d'informations. Des outils tels que Bokeh sont devenus des solutions populaires pour créer des tableaux de bord et des rapports interactifs. Chaque outil apporte des avantages uniques en fonction de la complexité de votre projet et de votre langage de programmation préféré. Dans cet article, nous examinerons chaque outil, puis nous concentrerons sur Bokeh, avec un exemple pratique et un déploiement dans le cloud.

Pour que...

Qu'est-ce que le bokeh ?
Bokeh est une bibliothèque de visualisation interactive qui cible les navigateurs Web modernes pour la présentation. Il offre des graphiques élégants et concis, permettant aux développeurs de créer des tableaux de bord avec une interactivité avancée. Bokeh est particulièrement adapté aux data scientists et aux développeurs utilisant Python, offrant à la fois des interfaces de haut niveau et un contrôle granulaire sur vos tracés.

Comment utiliser cet outil ?

  • Installer les dépendances :

pip installer bokeh
pip installe gunicorn

  • Créez l'intrigue : Dans ce cas j'ai développé deux tracés dans la page principale puis j'ai appelé "app.py"

Bokeh an interesting data tool in python for data visualization

from bokeh.layouts import column
from bokeh.models import ColumnDataSource, Select
from bokeh.plotting import figure, curdoc
import numpy as np

# Sample data for line plot
line_data = {
    'x': [1, 2, 3, 4, 5],
    'y1': [6, 7, 2, 4, 7],
    'y2': [1, 4, 8, 6, 9]
}

# Data for scatter plot
N = 4000
x_scatter = np.random.random(size=N) * 100
y_scatter = np.random.random(size=N) * 100
radii = np.random.random(size=N) * 1.5
colors = np.array([(r, g, 150) for r, g in zip(50 + 2 * x_scatter, 30 + 2 * y_scatter)], dtype="uint8")

# Create ColumnDataSource for line plot
source = ColumnDataSource(data={'x': line_data['x'], 'y': line_data['y1']})

# Create a figure for line plot
plot_line = figure(title="Interactive Line Plot", x_axis_label='X', y_axis_label='Y')
line1 = plot_line.line('x', 'y', source=source, line_width=3, color='blue', legend_label='y1')
line2 = plot_line.line('x', 'y2', source=source, line_width=3, color='red', legend_label='y2', line_alpha=0.5)

# Create a figure for scatter plot
plot_scatter = figure(title="Scatter Plot", tools="hover,crosshair,pan,wheel_zoom,zoom_in,zoom_out,box_zoom,undo,redo,reset,tap,save,box_select,poly_select,lasso_select,examine,help")
plot_scatter.circle(x_scatter, y_scatter, radius=radii,
                    fill_color=colors, fill_alpha=0.6,
                    line_color=None)

# Dropdown widget to select data for line plot
select = Select(title="Y-axis data", value='y1', options=['y1', 'y2'])

# Update function to change data based on selection
def update(attr, old, new):
    selected_y = select.value
    source.data = {'x': line_data['x'], 'y': line_data[selected_y]}
    # Update line colors based on selection
    line1.visible = (selected_y == 'y1')
    line2.visible = (selected_y == 'y2')
    plot_line.title.text = f"Interactive Line Plot - Showing {selected_y}"

select.on_change('value', update)

# Arrange plots and widgets in a layout
layout = column(select, plot_line, plot_scatter)

# Add layout to current document
curdoc().add_root(layout)
`

Créez votre page dans Heroku et suivez les étapes suivantes.

  • Créer un profil :

Bokeh an interesting data tool in python for data visualization

Dans ce fichier déclarez par exemple dans mon cas.

web : bokeh serve --port=$PORT --address=0.0.0.0 --allow-websocket-origin=juancitoelpapi-325d94c2c6c7.herokuapp.com app.py

  • Créer des exigences : Dans le projet, créez des exigences.txt et écrivez et enregistrez

Bokeh an interesting data tool in python for data visualization

bokeh

  • Poussez votre projet :

C'est similaire lorsque vous poussez un projet dans git mais dans ce cas, le push principal final est dans heroku

git init
git ajouter .
git commit -m "Déployer l'application Bokeh avec Gunicorn"
git push maître heroku

  • Et enfin...

Vous pouvez voir votre page avec les tracés bokeh.

Bokeh an interesting data tool in python for data visualization

Bokeh an interesting data tool in python for data visualization

  • Conclusion

La véritable puissance de Bokeh réside dans sa capacité à fournir des tableaux de bord interactifs dans des environnements Web, ce qui le rend idéal pour la surveillance des données en temps réel et de grands ensembles de données. En utilisant Gunicorn pour déployer des applications Bokeh sur des services cloud comme Heroku, vous pouvez créer des tableaux de bord évolutifs, prêts pour la production, faciles à maintenir et à mettre à jour.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn