亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

更新靜態頁面中的 Plot ColumnDataSource 列引用

更新靜態頁面中的 Plot ColumnDataSource 列引用

慕桂英546537 2021-10-29 10:37:51
我正在創建一個小儀表板,我希望在其中讓用戶可以選擇從Select框中選擇將在垂直軸上繪制的內容。本質上,給定 aColumnDataSource和 aSelect框中的值更改,只需更改給定繪圖軸引用的列并更新繪圖。鑒于許多其他字形屬性可以js_linked用于 widgets,我認為這應該是可能的。到目前為止,我見過的唯一實現是在 Bokeh 服務器中使用 Python 回調,但我試圖避免使用 Bokeh 服務器。下圖說明了這個想法:from bokeh.models import ColumnDataSource, Select, CustomJSfrom bokeh.plotting import figurefrom bokeh.layouts import columnfrom bokeh.io import output_notebook, output_file, showoutput_file('foo.html')source = ColumnDataSource(    {    'x': [0, 1, 2, 3],    'y': [0, 1, 4, 9],    'z': [0, 2, 3, 1],    })fig = figure()line = fig.line(x='x', y='y', source=source)dropdown = Select(value='y', options=['y','z'])dropdown.js_link('value', line.glyph, 'y')layout = column(dropdown, fig)show(layout)我還嘗試了以下內容,我認為它在功能上是相同的,但我想更明確:from bokeh.models import ColumnDataSource, Select, CustomJSfrom bokeh.plotting import figurefrom bokeh.layouts import columnfrom bokeh.io import output_file, showoutput_file('foo.html')source = ColumnDataSource(    {    'x': [0, 1, 2, 3],    'y': [0, 1, 4, 9],    'z': [0, 2, 3, 1],    })fig = figure()line = fig.line(x='x', y='y', source=source)dropdown = Select(value='y', options=['y','z'])dropdown.js_on_change(    'value',    CustomJS(        args={            'glyph': line.glyph,            'source': source,        },         code="""            var new_vert = cb_obj.value;            glyph.y = new_vert;         """))layout = column(dropdown, fig)show(layout)在這兩種情況下,HTML 都會在瀏覽器中呈現而不會出錯,但是一旦Select值發生變化,線圖就會消失,而不是繪制所選CDS系列。我嘗試在瀏覽器中檢查,但沒有返回任何 JS 錯誤。我是不是遺漏了什么,或者如果沒有 Bokeh Server,這是不可能的?編輯:我還應該補充一點,我試圖避免CDS在 a 中創建第二個并復制數據CustomJS,因為我有多個子圖共享一個CDS,并且我不想為每個圖創建一個新的,以便它們的行為保持聯系.
查看完整描述

2 回答

?
狐的傳說

TA貢獻1804條經驗 獲得超3個贊

的值y實際上是一個對象,用于指定該值是否應該是單個固定值,即來自 CDS 的值序列。python API 在很大程度上隱藏了所有這些。長話短說,您將需要使用第二個版本,并將分配更改為

glyph.y = {field: new_vert};


查看完整回答
反對 回復 2021-10-29
  • 2 回答
  • 0 關注
  • 182 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號