250x250
반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 30 | 31 |
Tags
- API
- spark udf
- flask
- 상관관계
- GenericGBQException
- TensorFlow
- hadoop
- API Gateway
- tensorflow text
- Airflow
- login crawling
- grad-cam
- Retry
- chatGPT
- session 유지
- BigQuery
- top_k
- subdag
- integrated gradient
- correlation
- Counterfactual Explanations
- 유튜브 API
- youtube data
- gather_nd
- UDF
- requests
- 공분산
- GCP
- XAI
- airflow subdag
Archives
- Today
- Total
데이터과학 삼학년
Bokeh - Web visualization 본문
반응형
bokeh에서 multiple plot에 마우스를 갖다대면 정보가 나오게 하는 방법!!!
바로!
HoverTool 이다.
이 툴을 이용하면 표시하길 원하는 tooltips를 추가하고, 각 plot별로 렌터링해서 표현해줄 수 있다.
예를 들면 두개의 plot이 섞여 있을때 각기 다른 정보를 보여줄수 있다!!!
코드를 보자
HoverTool 의 argument로 renderers 라는 것에 plot별 tooltips을 넣어줄수 있다!!!!
from bokeh.plotting import figure
from bokeh.models import ColumnDataSource,HoverTool
from bokeh.layouts import row, column, gridplot
## interactive annotation을 위해 Datetime이 str 형태로 저장된 정보 저장스
temp_df['when'] = [x.strftime("%Y-%m-%d %H:%M:%S") for x in temp_df['Datetime']]
source = ColumnDataSource(temp_df)
fig_lst = []
for i in ['origin','trend','seasonal','resid'] :
fig = figure(x_axis_type="datetime")
plot1 = fig.line('Datetime',i, source=source)
tooltips1 = [
('Datetime','@when'),
('Value','@{}'.format(i)),
('part',i)
]
fig.add_tools(HoverTool(renderers=[plot1],tooltips=tooltips1,formatters={'Datetime':'datetime'}))
fig.title.text = '{}_{}_{}'.format(worldno, feature,i.upper())
fig.xaxis.axis_label = 'TimeStamp'
fig.yaxis.axis_label = 'Values'
if i in ['origin','resid']:
plot2 = fig.circle('Datetime', 'anomaly_1',source=source,color="green",alpha=0.5,size=5)
plot3 = fig.circle('Datetime', 'anomaly_2',source=source,color="orange",alpha=0.5,size=7)
plot4 = fig.circle('Datetime', 'anomaly_3',source=source,color="red",alpha=0.7,size=10)
tooltips2 = [
('Datetime','@when'),
('Value','@{}'.format(i)),
('Threshold','@threshold')
]
fig.add_tools(HoverTool(renderers=[plot2,plot3,plot4],tooltips=tooltips2,formatters={'Datetime':'datetime'}))
fig_lst.append(fig)
grid = gridplot(fig_lst, ncols=1, plot_width=1400, plot_height=200)
return grid
그러면...그림에
이렇게 line plot interactive annotation 따로
scatter plot interactive annotation 따로 나오게 된다
bokeh를 이용한 시각화....너무 무궁무진하다..
아래 링크 참고 고고고
https://docs.bokeh.org/en/latest/docs/user_guide/plotting.html
728x90
반응형
LIST
'Data Visualization & DataBase' 카테고리의 다른 글
Folium 지리 정보 시각화 tool (0) | 2020.06.17 |
---|---|
시계열 데이터 시각화 using plotly (0) | 2020.06.05 |
Plotly 시각화 툴 (0) | 2020.05.21 |
Bokeh interactive legend (0) | 2020.02.14 |
Ipywidgets을 활용한 시각화 (feat. jupyter notebook) (0) | 2020.01.14 |
Comments