프로그래밍/에러 처리
[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
x = list(range(10))
y = [random.randrange(0,10) for 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=[0, 10], y_range=[0, 10])
plot.line('x', 'y', source=source, line_width=3, line_alpha=0.6)
def renew_fuction():
# 데이터 갱신
y = [random.randrange(0,10) for 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 |
반응형