使用Bokeh如何创建可供用户下载或导出的报告或图表数据

   2024-10-15 7460
核心提示:要创建可供用户下载或导出的报告或图表数据,您可以使用Bokeh的导出功能。以下是一个简单的示例代码,演示如何使用Bokeh创建一个

要创建可供用户下载或导出的报告或图表数据,您可以使用Bokeh的导出功能。以下是一个简单的示例代码,演示如何使用Bokeh创建一个图表,并提供下载按钮以将图表数据导出为CSV文件:

from bokeh.plotting import figure, output_file, showfrom bokeh.models import ColumnDataSource, Buttonfrom bokeh.layouts import columnfrom bokeh.io import output_fileimport pandas as pd# 创建数据data = {'x': [1, 2, 3, 4, 5],        'y': [6, 7, 2, 4, 5]}df = pd.DataFrame(data)# 创建ColumnDataSourcesource = ColumnDataSource(df)# 创建图表p = figure(title="Simple Line Plot", x_axis_label='x', y_axis_label='y')p.line('x', 'y', source=source)# 创建下载按钮button = Button(label="Download CSV")button.callback = CustomJS(args=dict(source=source), code="""    const data = source.data;    const filetext = 'x,y\\n';    for (let i = 0; i < data['x'].length; i++) {        const currRow = [data['x'][i].toString(), data['y'][i].toString()].join(',');        filetext = filetext.concat(currRow, '\\n');    }    const blob = new Blob([filetext], { type: 'text/csv;charset=utf-8;' });    const url = URL.createObjectURL(blob);    const link = document.createElement('a');    link.href = url;    link.download = 'data.csv';    link.click();""")# 输出到HTML文件output_file("plot.html")# 显示图表和下载按钮show(column(p, button))

运行上述代码后,将会生成一个包含图表和下载按钮的HTML文件。当用户点击下载按钮时,将会自动下载包含图表数据的CSV文件。

您还可以根据需要定制下载功能,以实现更复杂的数据导出需求。希望这个示例能够帮助您创建可供用户下载或导出的报告或图表数据。

 
举报打赏
 
更多>同类维修大全
推荐图文
推荐维修大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号