Attention: The Collaboratory IAM will down for up to 1 hour on Monday, the 7th of July 2025 starting from 5pm CEST (my timezone) for up to 1 hour. Any and all services, which require a user login with an EBRAINS account, will be un-available during that time


Changes for page Widget TimeSeries

Last modified by ldomide on 2023/05/23 14:34

From version 34.1
edited by rominabaila
on 2023/05/15 11:24
Change comment: There is no comment for this version
To version 30.1
edited by rominabaila
on 2023/05/15 10:50
Change comment: Uploaded new attachment "matplotlib.png", version {1}

Summary

Details

Page properties
Content
... ... @@ -8,18 +8,6 @@
8 8  
9 9  It is a Jupyter Widget intended for the visualization of brain signals represented as time series.
10 10  
11 -== Backends ==
12 -
13 -Starting with //**tvb-widgets 1.5.0**, //the TS widget comes in 2 forms, corresponding to the 2 different libraries (we called them backends) used for plotting: **matplotlib **and **plotly**. The matplotlib backend, build on top of the **mne** library, offers more advanced scientifical features, while the plotly backend has a more appealing look and moves faster when talking about the basic interactions.
14 -
15 -Below you can see the TS widget with each backend option (first one using the matplotlib backend, the second one using the plotly backend).
16 -
17 -(% style="text-align:center" %)
18 -[[image:matplotlib.png]]
19 -
20 -(% style="text-align:center" %)
21 -[[image:plotly.png]]
22 -
23 23  == Inputs ==
24 24  
25 25  Time series can be given as inputs in two forms:
... ... @@ -37,15 +37,11 @@
37 37  
38 38  == Requirements and installation ==
39 39  
40 -
41 41  Before installing the tvb-widgets library containing the TimeSeries widget, the following python libraries and Jupyter extensions should be installed:
42 42  
43 43  * **Libraries:**
44 -** [[mne>>https://mne.tools/stable/index.html]] >= 1.0
45 -** [[matplotlib>>https://matplotlib.org/3.5.0/index.html]]
46 -** [[plotly>>https://plotly.com/python/]] == 5.14.0
47 -** [[ipywidgets>>https://ipywidgets.readthedocs.io/en/7.x/]] == 7.7.2
48 -** [[ipympl>>https://github.com/matplotlib/ipympl#installation]] >= 0.8.5
31 +** [[mne>>https://mne.tools/0.24/install/index.html]] version 0.24
32 +** [[ipympl>>https://github.com/matplotlib/ipympl#installation]]
49 49  * (((
50 50  **Extensions:**
51 51  
... ... @@ -54,8 +54,6 @@
54 54  jupyter labextension install @jupyter-widgets/jupyterlab-manager
55 55  
56 56  jupyter labextension install jupyter-matplotlib
57 -
58 -jupyter labextension install jupyterlab-plotly
59 59  )))
60 60  )))
61 61  
... ... @@ -75,25 +75,28 @@
75 75  %matplotlib widget
76 76  )))
77 77  
78 -Then, simply import the **plot_timeseries** method, which gives you access to the TS widget:
60 + Then, the **TimeSeriesWidget** (from the tvb-widgets API) and the **//display//** function should be imported:
79 79  
80 80  (% class="box" %)
81 81  (((
82 -from tvbwidgets.api import plot_timeseries
64 +from tvbwidgets.api import TimeSeriesWidget
65 +from IPython.core.display_functions import display
83 83  )))
84 84  
68 +Assuming that the user has already created or imported a valid input, this is how the widget can be initialized and how an input can be assigned to it, using the //**add_datatype** //method (example below assumes that **//tsr//  **is a TVB TimeSeries datatype):
85 85  
86 -Assuming that the user has already created or imported a valid input, this is how the widget can be initialized and displayed (example below assumes that **tsr  **is a TVB TimeSeries datatype):
87 -
88 88  (% class="box" %)
89 89  (((
90 -backend = 'plotly' # change to 'matplotlib' to see the other TS widget
91 -
92 -plot_timeseries(data=tsr, backend=backend)
72 +tsw = TimeSeriesWidget()
73 +tsw.add_datatype(tsr)
93 93  )))
94 94  
95 -After running the code from above into a Jupyter cell, you should see the TS widget corresponding to the backend you selected.
76 +Finally, to display and interact with the TimeSeries widget, the **//get_widget//**// //method is used inside the //**display **//function:
96 96  
78 +(% class="box" %)
79 +(((
80 +display(tsw)
81 +)))
97 97  
98 98  {{html}}
99 99  <iframe width="840" height="480" src="https://www.youtube.com/embed/VmueiXMxbVk" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
Public

TVB Widgets