中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

使用Bokeh如何創建可供用戶下載或導出的報告或圖表數據

小樊
85
2024-05-20 12:05:38
欄目: 編程語言

要創建可供用戶下載或導出的報告或圖表數據,您可以使用Bokeh的導出功能。以下是一個簡單的示例代碼,演示如何使用Bokeh創建一個圖表,并提供下載按鈕以將圖表數據導出為CSV文件:

from bokeh.plotting import figure, output_file, show
from bokeh.models import ColumnDataSource, Button
from bokeh.layouts import column
from bokeh.io import output_file
import pandas as pd

# 創建數據
data = {'x': [1, 2, 3, 4, 5],
        'y': [6, 7, 2, 4, 5]}
df = pd.DataFrame(data)

# 創建ColumnDataSource
source = 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文件。

您還可以根據需要定制下載功能,以實現更復雜的數據導出需求。希望這個示例能夠幫助您創建可供用戶下載或導出的報告或圖表數據。

0
稷山县| 雷波县| 青铜峡市| 兴安盟| 汾西县| 奉化市| 高台县| 克拉玛依市| 琼中| 渑池县| 普安县| 靖西县| 土默特左旗| 丹东市| 象州县| 绥化市| 正安县| 桓仁| 望江县| 麻城市| 雷波县| 怀来县| 龙泉市| 崇义县| 扶沟县| 通许县| 普格县| 阳江市| 孝感市| 高青县| 修水县| 溧阳市| 双城市| 甘肃省| 宝坻区| 奉节县| 湖口县| 融水| 临海市| 望奎县| 梧州市|