【環境】
anaconda 5.0.0
python3.6.0
holoviews 1.10.6
parambokeh 0.2.2
【実現したいこと】
holoviewsで作成したインタラクティブなグラフに対し、下記を行いたい。
①最初の表示範囲(x軸の最小、最大、およびy軸の最小、最大値)を設定したい。
②表示目盛りのスケールの小さいほう(画像参照)の幅を変更したい。
※コードを実行すると下記のようなグラフとウィジェットが描画されます。
【やってみたこと】
・公式(holoviews)のマニュアル確認
・サンプルコードを参考に改造
【ソースコード(jupyter notebook上で動かしました)】
python
1 2import param 3import parambokeh 4import numpy as np 5import pandas as pd 6import holoviews as hv 7from bokeh.io import output_notebook 8hv.extension('bokeh') 9output_notebook() 10 11 12matrix = np.random.randn(10000,4) 13df_boxdraw = pd.DataFrame(matrix, 14 columns=["MC率","シス2不具合件数","FL率","新規換算生産量"]) 15 16 17 18def box_disp(th1, th2, kl): 19 df_tmp = df_boxdraw[(df_boxdraw['新規換算生産量'] > kl)].copy() 20 df_tmp["x_thresh"] = df_tmp['MC率'].apply(lambda x: 0 if x< th1 else 1 if x<th2 else 2) 21 box = hv.BoxWhisker(df_tmp, kdims=('x_thresh', 'MC率_XX'), vdims=('FL率','FL率'), extents=(None, 0.0, None, 1.0)) 22 return box 23 24 25range_list = [1.0*x for x in range(5,101)] #0から0.1刻みで1.5までのリストを作成(グラフ用) 26range_kl_list = [0.1*x for x in range(1,501)] #0から0.1刻みで50kLまでのリストを作成(グラフ用) 27dmap = hv.DynamicMap(box_disp, kdims=['th1', 'th2', 'kl']) 28dmap.redim.values(th1=range_list).redim.values(th2=range_list).redim.values(kl=range_kl_list) 29
stackoverflowなどを見ていると、hv.BoxWhisker()の引数にextentsを設定すると、初期範囲を設定できるみたいな記事があったのですが、設定しても何も変わらなかったです…。ほかにもいろいろ試してみたのですが表示範囲は変わらずでした。
もしどなたかご存知であればご教示いただけないでしょうか。
よろしくお願いいたします。
以上です。
あなたの回答
tips
プレビュー