Maison > Article > développement back-end > Bokeh, un outil de données intéressant en python pour la visualisation de données
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 ?
pip installer bokeh
pip installe gunicorn
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.
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
bokeh
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
Vous pouvez voir votre page avec les tracés bokeh.
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!