LoginSignup
3
1

More than 1 year has passed since last update.

グラフをダブルクリックして軸をリセットする Bokehの場合

Posted at

グラフ上をダブルクリックすると、軸がリセットされる機能って便利ですよね。
Plotlyにはその機能がデフォルトでついていますが、Bokehにはついていません。ですが、実は一行で実装できるのです。
このissuesに実装方法が書いてあったので、参考にして簡単なグラフを作ってみました。

from bokeh.plotting import figure, save, output_file
from bokeh.models import ColumnDataSource, CustomJS
from bokeh.events import DoubleTap
from bokeh.sampledata.stocks import MSFT
import pandas as pd

output_file('MSFT.html')

df = pd.DataFrame(MSFT)
df.date = pd.to_datetime(df.date)
source = ColumnDataSource(df)

# ここの設定値にグラフがリセットされる
p = figure(x_axis_type='datetime', y_range=(0, 200))
p.line(x='date', y='close', source=source)

# この一行のコードで、軸リセットを実装している
p.js_on_event(DoubleTap, CustomJS(args=dict(p=p), code='p.reset.emit()'))

save(p)

リセット機能がワタシ的に超重要だったのですが、これでBokehに移行できそうです。BokehのColumnDataSourceでいろんなデータをリンクさせられるのがすごく便利😀

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1