gpt4 book ai didi

python - Bokeh 以及如何将其变成 GUI

转载 作者:行者123 更新时间:2023-11-28 20:50:19 25 4
gpt4 key购买 nike

我正在用 Python 编写代码,并且拥有分析数据集的所有功能。现在,我想将这些功能变成一个用户就绪的应用程序,从某种意义上说,它的工作方式类似于 .exe 应用程序。在 Bokeh 中,我看到您可以创建绘图、表格等;但是,是否可以创建一个 GUI,您可以:

  1. 上传文件进行分析
  2. 从我写的 python 加载函数来分析上传的文件
  3. 将结果绘制到图表上
  4. 单击可以将您带到不同(所谓的)页面的不同按钮,以便您可以执行不同的功能。

基本上,它可以从一个页面跳转到另一个页面,就像您单击一个按钮的网页一样,它会将您链接到下一页以达到另一个目的,然后返回主页。你能用 Bokeh 来做到这一点吗?

最佳答案

demo.bokeh.org 中有几个使用 Bokeh 创建的数据 Web 应用程序示例.这是一个以“Shiny Movie Explorer”为蓝本的模型,但用纯 Python/Bokeh(而不是 R/Shiny)编写。

enter image description here

您可以在 Running a Bokeh Server 中找到有关创建和部署 Bokeh 应用程序的更多详细信息文档的章节。

这是一个完整(但更简单)的示例,演示了基本要点和结构:

import numpy as np

from bokeh.io import curdoc
from bokeh.layouts import column
from bokeh.models import ColumnDataSource, Slider
from bokeh.plotting import figure

# Set up data
x = np.linspace(0, 4*np.pi, 200)
y = np.sin(x)
source = ColumnDataSource(data=dict(x=x, y=y))

# Set up plot
plot = figure(title="my sine wave")
plot.line('x', 'y', source=source, line_width=3, line_alpha=0.6)

# Set up widgets
freq = Slider(title="frequency", value=1.0, start=0.1, end=5.1, step=0.1)


# Set up callbacks
def update_data(attrname, old, new):

# Get the current slider values and set new data
k = freq.value
x = np.linspace(0, 4*np.pi, 200)
y = np.sin(k*x)
source.data = dict(x=x, y=y)

freq.on_change('value', update_data)

# Set up layouts and add to document
curdoc().add_root(column(freq, plot))
curdoc().title = "Sliders"

要在本地运行,您需要执行:

bokeh serve --show myscript.py

用于更复杂的部署(即使用代理)或直接嵌入例如 flask ,请参阅文档。

关于python - Bokeh 以及如何将其变成 GUI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49800444/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com