質問編集履歴

4

いろいろ対応し、スライドバーは出たが、描画したい図が出なくなった件について記載。

2018/06/30 04:34

投稿

H.K2
H.K2

スコア88

test CHANGED
@@ -1 +1 @@
1
- 箱ひげ図のhueをスイドバなどで動的に変更しながらリアルタイムで描画し
1
+ 箱ひげ図のタを動的に変更するためwidgetを追加たら、箱ひげ図が表示されくなっ
test CHANGED
@@ -115,3 +115,97 @@
115
115
 
116
116
 
117
117
  https://ioam.github.io/parambokeh/user_guide/View_Parameters.html
118
+
119
+
120
+
121
+ 【追記2】
122
+
123
+ 下記のサイトを見ながら、parambokehのwidgetを出すことは成功したのですが、
124
+
125
+ 今度はholoviewsの箱ひげ図(boxwhisker)が表示されなくなりました…。
126
+
127
+ 参考サイト:
128
+
129
+ http://holoviews.org/reference/containers/matplotlib/DynamicMap.html
130
+
131
+ http://holoviews.org/user_guide/Dashboards.html
132
+
133
+ https://ioam.github.io/parambokeh/user_guide/Introduction.html
134
+
135
+
136
+
137
+ ソースコード:
138
+
139
+ ```ここに言語を入力
140
+
141
+ import param
142
+
143
+ import parambokeh
144
+
145
+ import numpy as np
146
+
147
+ import pandas as pd
148
+
149
+
150
+
151
+ import holoviews as hv
152
+
153
+ from bokeh.io import output_notebook
154
+
155
+
156
+
157
+ hv.extension('bokeh')
158
+
159
+ output_notebook()
160
+
161
+
162
+
163
+ class TestParmSetting(param.Parameterized):
164
+
165
+ df = pd.read_excel("サンプル.xlsx")
166
+
167
+ df_boxdraw = df.iloc[:,[13,64,76]].copy() # 必要な要素だけコピーしたdf作成
168
+
169
+ sel_list = list(df_boxdraw.columns)
170
+
171
+
172
+
173
+ th1 = param.Number(default=0.1, precedence=0)
174
+
175
+ th2 = param.Number(default=0.2, precedence=0)
176
+
177
+ par = param.ObjectSelector(default=sel_list[0],objects=sel_list)
178
+
179
+
180
+
181
+ def disp_box():
182
+
183
+ #df = pd.DataFrame(getattr(stocks, symbol))
184
+
185
+ #df['date'] = df.date.astype('datetime64[ns]')
186
+
187
+ return hv.BoxWhisker(df_boxdraw, kdims=['MC率'], vdims=['FL率']).sort()
188
+
189
+
190
+
191
+ def update(self, **kwargs):
192
+
193
+ print(self.th1, self.th2, self.par)
194
+
195
+ stocks = hv.DynamicMap(self.disp_box, kdims=[], vdims=[])
196
+
197
+ return stocks
198
+
199
+
200
+
201
+ example = TestParmSetting(name='TestBoxDisp')
202
+
203
+ layout = parambokeh.Widgets(example, on_init=True, callback=example.update)
204
+
205
+ ```
206
+
207
+
208
+
209
+ どなたかご存知であればご教示いただけると幸甚に存じます。
210
+
211
+ 何卒ご回答のほどよろしくお願いいたします。

3

イメージ図を追加しました。

2018/06/30 04:34

投稿

H.K2
H.K2

スコア88

test CHANGED
File without changes
test CHANGED
@@ -11,6 +11,12 @@
11
11
  これをスライドバー(ipywidgetなど)を用いて動的に変更しながら
12
12
 
13
13
  グラフを更新したいと考えています。(できればholoviewなどを用いたい)
14
+
15
+
16
+
17
+ イメージ(こんな感じ)
18
+
19
+ ![イメージ説明](cbeec0bee899cd82250ff57f33119b65.png)
14
20
 
15
21
 
16
22
 

2

parambokehを使って、どういうものを作りたいかを補足しました

2018/06/28 16:54

投稿

H.K2
H.K2

スコア88

test CHANGED
File without changes
test CHANGED
@@ -89,3 +89,23 @@
89
89
  ```
90
90
 
91
91
  出来ればボタンなどを出したまま、グラフを更新するような処理にしたいのですが、どのように書けば実現できますでしょうか。
92
+
93
+
94
+
95
+ 【追記】
96
+
97
+ 色々調べてみたのですが、parambokehというライブラリを使うと、Bokeh+ウィジェットを用いて、aの敷居値を動的に動かしてグラフを更新できそうに思いました。
98
+
99
+ しかし、下記サンプルをそのままjupyterで実行しても、下記エラーが出てしまい、動かないです。。。
100
+
101
+
102
+
103
+ ModuleNotFoundError: No module named 'holoviews.plotting.comms'
104
+
105
+
106
+
107
+ エラー内容から見ると、holoviews.plotting.commsのモジュールがないと言われているように見えるんですが、holoviews, parambokehは、conda install -c ioamでインストール済みですので、なぜこのエラーが出るのかまったくわかりません。。。
108
+
109
+
110
+
111
+ https://ioam.github.io/parambokeh/user_guide/View_Parameters.html

1

matplotlib(seaborn)であることを明記しました。

2018/06/28 16:37

投稿

H.K2
H.K2

スコア88

test CHANGED
File without changes
test CHANGED
@@ -42,7 +42,7 @@
42
42
 
43
43
  【やってみたこと】
44
44
 
45
- matplotlibでは、下記のように書くことで一応はこひげ図はかけたのですが、
45
+ matplotlib(seaborn)では、下記のように書くことで一応はこひげ図はかけたのですが、
46
46
 
47
47
  ボタンを押すと一回描画のみになってしまい、ボタンが消えてしまいます。
48
48