gpt4 book ai didi

python - Bokeh 流轴

转载 作者:太空宇宙 更新时间:2023-11-03 14:42:43 24 4
gpt4 key购买 nike

当我在 Bokeh Server 上使用 Bokeh Stream 时,我从一个空的 ColumnDataSource 开始 - 但是,这会出现一个问题,因为随后生成的图形没有轴标签,并且尽管图中的数据已更新,但轴在以下情况下保持不变:它被绘制了。看来这个问题的解决方案是有一个固定的 x_range 和 y_range - 但是,由于它不断地流式传输,我不希望它被修复......

我想解决方案也是更新范围,但我不知道该怎么做?

我目前的代码如下:

source_ios = ColumnDataSource({'Date': [], 'Vol': []})
source_gp = ColumnDataSource({'Date': [], 'Vol': []})

ios = figure(toolbar_location=None, x_axis_type='datetime',plot_width=800, plot_height=250)

ios.circle(x='Date',y='Vol', fill_color="pink",line_color=None, fill_alpha=0.05, size=20, source=source_ios)

def update():
MAU_ios = pd.read_csv('myapp/data/pplus_ios_data.csv')
MAU_ios['Date'] = pd.to_datetime(MAU_ios['Date'])
MAU_ios['Vol'] = MAU_ios.Vol.astype(int)

new_MAU_ios = {'Date':MAU_ios['Date'], 'Vol':MAU_ios['Vol']}
source_ios.stream(new_MAU_ios)

curdoc().add_periodic_callback(update, 8000)

curdoc().add_root(ios

图表如下所示,可以看出轴不会自动更新

enter image description here

最佳答案

如果您没有事先创建轴+标签,则需要使用figure()min_border属性添加一些填充

from bokeh.io import curdoc
from bokeh.plotting import figure
from bokeh.models import ColumnDataSource
from random import random

source_ios = ColumnDataSource({'Date': [], 'Vol': []})

ios = figure(toolbar_location=None,plot_width=800, plot_height=250)
ios.xaxis.axis_label = 'Date'
ios.yaxis.axis_label = 'Vol'
ios.min_border_left = 50
ios.min_border_bottom = 50

ios.circle(x='Date',y='Vol',color="pink", size=20, source=source_ios)

i=0
def update():
global i
new_MAU_ios = {'Date':range(i,i+10),'Vol':[random() for j in range(10)]}
source_ios.stream(new_MAU_ios)
i+=10

curdoc().add_periodic_callback(update, 8000)

curdoc().add_root(ios)

关于python - Bokeh 流轴,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46474181/

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