数据可视化在解释大量信息方面发挥着关键作用。 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 应用程序,您可以构建易于维护和更新的可扩展、生产就绪的仪表板。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3