質問編集履歴
4
いろいろ対応し、スライドバーは出たが、描画したい図が出なくなった件について記載。
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
箱ひげ図の
|
1
|
+
箱ひげ図のパラメータを動的に変更するためwidgetを追加したら、箱ひげ図が表示されなくなった
|
body
CHANGED
@@ -56,4 +56,51 @@
|
|
56
56
|
|
57
57
|
エラー内容から見ると、holoviews.plotting.commsのモジュールがないと言われているように見えるんですが、holoviews, parambokehは、conda install -c ioamでインストール済みですので、なぜこのエラーが出るのかまったくわかりません。。。
|
58
58
|
|
59
|
-
https://ioam.github.io/parambokeh/user_guide/View_Parameters.html
|
59
|
+
https://ioam.github.io/parambokeh/user_guide/View_Parameters.html
|
60
|
+
|
61
|
+
【追記2】
|
62
|
+
下記のサイトを見ながら、parambokehのwidgetを出すことは成功したのですが、
|
63
|
+
今度はholoviewsの箱ひげ図(boxwhisker)が表示されなくなりました…。
|
64
|
+
参考サイト:
|
65
|
+
http://holoviews.org/reference/containers/matplotlib/DynamicMap.html
|
66
|
+
http://holoviews.org/user_guide/Dashboards.html
|
67
|
+
https://ioam.github.io/parambokeh/user_guide/Introduction.html
|
68
|
+
|
69
|
+
ソースコード:
|
70
|
+
```ここに言語を入力
|
71
|
+
import param
|
72
|
+
import parambokeh
|
73
|
+
import numpy as np
|
74
|
+
import pandas as pd
|
75
|
+
|
76
|
+
import holoviews as hv
|
77
|
+
from bokeh.io import output_notebook
|
78
|
+
|
79
|
+
hv.extension('bokeh')
|
80
|
+
output_notebook()
|
81
|
+
|
82
|
+
class TestParmSetting(param.Parameterized):
|
83
|
+
df = pd.read_excel("サンプル.xlsx")
|
84
|
+
df_boxdraw = df.iloc[:,[13,64,76]].copy() # 必要な要素だけコピーしたdf作成
|
85
|
+
sel_list = list(df_boxdraw.columns)
|
86
|
+
|
87
|
+
th1 = param.Number(default=0.1, precedence=0)
|
88
|
+
th2 = param.Number(default=0.2, precedence=0)
|
89
|
+
par = param.ObjectSelector(default=sel_list[0],objects=sel_list)
|
90
|
+
|
91
|
+
def disp_box():
|
92
|
+
#df = pd.DataFrame(getattr(stocks, symbol))
|
93
|
+
#df['date'] = df.date.astype('datetime64[ns]')
|
94
|
+
return hv.BoxWhisker(df_boxdraw, kdims=['MC率'], vdims=['FL率']).sort()
|
95
|
+
|
96
|
+
def update(self, **kwargs):
|
97
|
+
print(self.th1, self.th2, self.par)
|
98
|
+
stocks = hv.DynamicMap(self.disp_box, kdims=[], vdims=[])
|
99
|
+
return stocks
|
100
|
+
|
101
|
+
example = TestParmSetting(name='TestBoxDisp')
|
102
|
+
layout = parambokeh.Widgets(example, on_init=True, callback=example.update)
|
103
|
+
```
|
104
|
+
|
105
|
+
どなたかご存知であればご教示いただけると幸甚に存じます。
|
106
|
+
何卒ご回答のほどよろしくお願いいたします。
|
3
イメージ図を追加しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -6,6 +6,9 @@
|
|
6
6
|
これをスライドバー(ipywidgetなど)を用いて動的に変更しながら
|
7
7
|
グラフを更新したいと考えています。(できればholoviewなどを用いたい)
|
8
8
|
|
9
|
+
イメージ(こんな感じ)
|
10
|
+

|
11
|
+
|
9
12
|
データ(一部)
|
10
13
|
a b c
|
11
14
|
0 80 3 50
|
2
parambokehを使って、どういうものを作りたいかを補足しました
title
CHANGED
File without changes
|
body
CHANGED
@@ -43,4 +43,14 @@
|
|
43
43
|
|
44
44
|
|
45
45
|
```
|
46
|
-
出来ればボタンなどを出したまま、グラフを更新するような処理にしたいのですが、どのように書けば実現できますでしょうか。
|
46
|
+
出来ればボタンなどを出したまま、グラフを更新するような処理にしたいのですが、どのように書けば実現できますでしょうか。
|
47
|
+
|
48
|
+
【追記】
|
49
|
+
色々調べてみたのですが、parambokehというライブラリを使うと、Bokeh+ウィジェットを用いて、aの敷居値を動的に動かしてグラフを更新できそうに思いました。
|
50
|
+
しかし、下記サンプルをそのままjupyterで実行しても、下記エラーが出てしまい、動かないです。。。
|
51
|
+
|
52
|
+
ModuleNotFoundError: No module named 'holoviews.plotting.comms'
|
53
|
+
|
54
|
+
エラー内容から見ると、holoviews.plotting.commsのモジュールがないと言われているように見えるんですが、holoviews, parambokehは、conda install -c ioamでインストール済みですので、なぜこのエラーが出るのかまったくわかりません。。。
|
55
|
+
|
56
|
+
https://ioam.github.io/parambokeh/user_guide/View_Parameters.html
|
1
matplotlib(seaborn)であることを明記しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -20,7 +20,7 @@
|
|
20
20
|
9 50 0 100
|
21
21
|
|
22
22
|
【やってみたこと】
|
23
|
-
matplotlibでは、下記のように書くことで一応はこひげ図はかけたのですが、
|
23
|
+
matplotlib(seaborn)では、下記のように書くことで一応はこひげ図はかけたのですが、
|
24
24
|
ボタンを押すと一回描画のみになってしまい、ボタンが消えてしまいます。
|
25
25
|
```python3
|
26
26
|
df_boxdraw = pd.read_excel("サンプル.xlsx")
|