回答編集履歴
2
コード更新
test
CHANGED
@@ -10,7 +10,7 @@
|
|
10
10
|
|
11
11
|
### 追加
|
12
12
|
|
13
|
-
ためしに作ってみました。
|
13
|
+
ためしに作ってみました。(コメントをうけてコードを更新しました)
|
14
14
|
|
15
15
|
```python
|
16
16
|
|
@@ -18,21 +18,33 @@
|
|
18
18
|
|
19
19
|
import plotly.express as px
|
20
20
|
|
21
|
+
import plotly.graph_objects as go
|
22
|
+
|
21
23
|
import streamlit as st
|
22
24
|
|
23
25
|
from streamlit_plotly_events import plotly_events
|
26
|
+
|
27
|
+
import plotly.offline as offline
|
24
28
|
|
25
29
|
|
26
30
|
|
27
31
|
df = pd.DataFrame({'X': [1, 1, 2, 2, 3, 3], 'Y': [1, 3, 2, 3, 1, 2]})
|
28
32
|
|
33
|
+
df2 = pd.DataFrame({'X': [0, 0.5, 1, 1.5, 2, 2.5], 'Y': [1, 3, 2, 3, 1, 2]})
|
29
34
|
|
30
35
|
|
31
|
-
# Select other Plotly events by specifying kwargs
|
32
36
|
|
33
|
-
fig = px.scatter(df, x='X', y='Y')
|
37
|
+
fig1 = px.scatter(df, x='X', y='Y')
|
34
38
|
|
35
|
-
fig.update_layout(clickmode='select')
|
39
|
+
fig1.update_layout(clickmode='select')
|
40
|
+
|
41
|
+
fig2 = px.line(df2,x='X', y='Y')
|
42
|
+
|
43
|
+
|
44
|
+
|
45
|
+
fig = go.Figure(data=fig1.data + fig2.data)
|
46
|
+
|
47
|
+
|
36
48
|
|
37
49
|
selected_points = plotly_events(fig, click_event=False, select_event=True)
|
38
50
|
|
@@ -42,6 +54,8 @@
|
|
42
54
|
|
43
55
|
```
|
44
56
|
|
57
|
+
|
58
|
+
|
45
59
|
もうちょっとやりたいことが複雑なら、
|
46
60
|
|
47
61
|
素直にdashを使った方がいいような気がします。
|
1
追加
test
CHANGED
@@ -5,3 +5,43 @@
|
|
5
5
|
|
6
6
|
|
7
7
|
こちらのライブラリ [https://github.com/null-jones/streamlit-plotly-events](https://github.com/null-jones/streamlit-plotly-events) は使えないでしょうか。
|
8
|
+
|
9
|
+
|
10
|
+
|
11
|
+
### 追加
|
12
|
+
|
13
|
+
ためしに作ってみました。
|
14
|
+
|
15
|
+
```python
|
16
|
+
|
17
|
+
import pandas as pd
|
18
|
+
|
19
|
+
import plotly.express as px
|
20
|
+
|
21
|
+
import streamlit as st
|
22
|
+
|
23
|
+
from streamlit_plotly_events import plotly_events
|
24
|
+
|
25
|
+
|
26
|
+
|
27
|
+
df = pd.DataFrame({'X': [1, 1, 2, 2, 3, 3], 'Y': [1, 3, 2, 3, 1, 2]})
|
28
|
+
|
29
|
+
|
30
|
+
|
31
|
+
# Select other Plotly events by specifying kwargs
|
32
|
+
|
33
|
+
fig = px.scatter(df, x='X', y='Y')
|
34
|
+
|
35
|
+
fig.update_layout(clickmode='select')
|
36
|
+
|
37
|
+
selected_points = plotly_events(fig, click_event=False, select_event=True)
|
38
|
+
|
39
|
+
|
40
|
+
|
41
|
+
df.iloc[[v['pointIndex'] for v in selected_points]]
|
42
|
+
|
43
|
+
```
|
44
|
+
|
45
|
+
もうちょっとやりたいことが複雑なら、
|
46
|
+
|
47
|
+
素直にdashを使った方がいいような気がします。
|