프로그래밍/에러 처리

[Bokeh] 동적 그래프 그리기

상어군 2021. 2. 26. 20:48
반응형

실시간으로 업로드 된 데이터를 적용하는 그래프를 그리기 위한 코드입니다.

add_periodic_callback 기능을 사용하여 주기적으로 그래프의 source를 갱신하는 방식으로 동작합니다.

해당 글에서 데이터의 연결 부분은 다루지 않으며 생략합니다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import numpy as np
from bokeh.io import curdoc
from bokeh.layouts import row
from bokeh.models import ColumnDataSource
from bokeh.plotting import figure
from random import *
 
# Set up data
= list(range(10))
= [random.randrange(0,10for i in x]
source = ColumnDataSource(data=dict(x=x, y=y))
 
 
# Set up plot
plot = figure(plot_height=400, plot_width=400, title="my chart",
              tools="crosshair,pan,reset,save,wheel_zoom",
              x_range=[010], y_range=[010])
plot.line('x''y', source=source, line_width=3, line_alpha=0.6)
 
 
def renew_fuction():
    # 데이터 갱신
    y = [random.randrange(0,10for i in x]
 
    source.data = dict(x=x, y=y)
 
curdoc().add_root(row(plot, width=800))
curdoc().title = "Real time line chart"
curdoc().add_periodic_callback(renew_fuction, 5000# 약 5초마다 갱신
cs
반응형