Datenvisualisierung spielt eine entscheidende Rolle bei der Interpretation großer Informationsmengen. Tools wie Bokeh haben sich zu beliebten Lösungen für die Erstellung interaktiver Dashboards und Berichte entwickelt. Jedes Tool bietet je nach Komplexität Ihres Projekts und Ihrer bevorzugten Programmiersprache einzigartige Vorteile. In diesem Artikel werden wir uns mit den einzelnen Tools befassen und uns dann auf Bokeh konzentrieren, einschließlich eines praktischen Beispiels und der Bereitstellung in der Cloud.
So dass...
Was ist Bokeh?
Bokeh ist eine interaktive Visualisierungsbibliothek, die sich für die Präsentation an moderne Webbrowser richtet. Es bietet elegante und prägnante Grafiken und ermöglicht Entwicklern die Erstellung von Dashboards mit erweiterter Interaktivität. Bokeh eignet sich besonders für Datenwissenschaftler und Entwickler, die Python verwenden, und bietet sowohl High-Level-Schnittstellen als auch eine detaillierte Kontrolle über Ihre Plots.
Wie können Sie dieses Tool verwenden?
pip install bokeh
pip install 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) `
Erstellen Sie Ihre Seite in Heroku und führen Sie die nächsten Schritte aus.
In dieser Datei zum Beispiel in meinem Fall deklarieren.
web: Bokeh Serve --port=$PORT --address=0.0.0.0 --allow-websocket-origin=juancitoelpapi-325d94c2c6c7.herokuapp.com app.py
Bokeh
Es ist ähnlich, wenn Sie ein Projekt in Git pushen, aber in diesem Fall erfolgt der letzte Master-Push in Heroku
git init
git add .
git commit -m „Bokeh-App mit Gunicorn bereitstellen“
Git Push Heroku Master
Sie können Ihre Seite mit dem Plot-Bokeh sehen.
Die wahre Stärke von Bokeh liegt in seiner Fähigkeit, interaktive Dashboards in Webumgebungen bereitzustellen, was es ideal für die Echtzeit-Datenüberwachung und große Datensätze macht. Durch die Verwendung von Gunicorn zur Bereitstellung von Bokeh-Anwendungen auf Cloud-Diensten wie Heroku können Sie skalierbare, produktionsbereite Dashboards erstellen, die einfach zu warten und zu aktualisieren sind.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3