資料視覺化在解釋大量資訊方面發揮關鍵作用。 Bokeh 等工具已成為建立互動式儀表板和報告的熱門解決方案。每個工具都具有獨特的優勢,具體取決於您專案的複雜性和您首選的程式語言。在本文中,我們將深入研究每個工具,然後專注於 Bokeh,包括實踐範例和雲端中的部署。
所以...
什麼是散景?
Bokeh 是一個互動式視覺化函式庫,針對現代 Web 瀏覽器進行示範。它提供優雅簡潔的圖形,使開發人員能夠建立具有高級互動性的儀表板。 Bokeh 特別適合使用 Python 的資料科學家和開發人員,提供高階介面和對繪圖的精細控制。
如何使用這個工具?
pip 安裝散景
pip 安裝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) `
在 Heroku 中建立您的頁面並執行後續步驟。
在此文件中以我的情況為例進行聲明。
網路:散景服務 --port=$PORT --address=0.0.0.0 --allow-websocket-origin=juancioelpapi-325d94c2c6c7.herokuapp.com app.py
背景虛化
在 git 中推送項目時情況類似,但在這種情況下,最終的主推送是在 heroku
git 初始化
git add .
git commit -m「使用 Gunicorn 部署 Bokeh 應用程式」
git push heroku master
您可以看到有散景圖的頁面。
Bokeh 的真正強大之處在於它能夠在 Web 環境中提供互動式儀表板,使其成為即時資料監控和大型資料集的理想選擇。透過使用 Gunicorn 在 Heroku 等雲端服務上部署 Bokeh 應用程序,您可以建立可擴展、可用於生產且易於維護和更新的儀表板。
以上是Bokeh 是一個有趣的 Python 資料視覺化資料工具的詳細內容。更多資訊請關注PHP中文網其他相關文章!