数据可视化在解释大量信息方面发挥着关键作用。 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中文网其他相关文章!