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 32.1
edited by rominabaila
on 2023/05/15 10:51
Change comment: There is no comment for this version
To version 36.1
edited by rominabaila
on 2023/05/15 11:25
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -6,13 +6,13 @@
6 6  
7 7  == Purpose ==
8 8  
9 -It is a Jupyter Widget intended for the visualization of brain signals represented as time series.
9 +It is a JupyterLab Widget intended for the visualization of brain signals represented as time series.
10 10  
11 11  == Backends ==
12 12  
13 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 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).
15 +Below you can see the TS widget with each backend option (first one using the matplotlib backend, second one using the plotly backend).
16 16  
17 17  (% style="text-align:center" %)
18 18  [[image:matplotlib.png]]
... ... @@ -37,11 +37,15 @@
37 37  
38 38  == Requirements and installation ==
39 39  
40 +
40 40  Before installing the tvb-widgets library containing the TimeSeries widget, the following python libraries and Jupyter extensions should be installed:
41 41  
42 42  * **Libraries:**
43 -** [[mne>>https://mne.tools/0.24/install/index.html]] version 0.24
44 -** [[ipympl>>https://github.com/matplotlib/ipympl#installation]]
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
45 45  * (((
46 46  **Extensions:**
47 47  
... ... @@ -50,6 +50,8 @@
50 50  jupyter labextension install @jupyter-widgets/jupyterlab-manager
51 51  
52 52  jupyter labextension install jupyter-matplotlib
57 +
58 +jupyter labextension install jupyterlab-plotly
53 53  )))
54 54  )))
55 55  
... ... @@ -69,28 +69,25 @@
69 69  %matplotlib widget
70 70  )))
71 71  
72 - Then, the **TimeSeriesWidget** (from the tvb-widgets API) and the **//display//** function should be imported:
78 +Then, simply import the **plot_timeseries** method, which gives you access to the TS widget:
73 73  
74 74  (% class="box" %)
75 75  (((
76 -from tvbwidgets.api import TimeSeriesWidget
77 -from IPython.core.display_functions import display
82 +from tvbwidgets.api import plot_timeseries
78 78  )))
79 79  
80 -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):
81 81  
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 +
82 82  (% class="box" %)
83 83  (((
84 -tsw = TimeSeriesWidget()
85 -tsw.add_datatype(tsr)
90 +backend = 'plotly' # change to 'matplotlib' to see the other TS widget
91 +
92 +plot_timeseries(data=tsr, backend=backend)
86 86  )))
87 87  
88 -Finally, to display and interact with the TimeSeries widget, the **//get_widget//**// //method is used inside the //**display **//function:
95 +After running the code from above into a Jupyter cell, you should see the TS widget corresponding to the backend you selected.
89 89  
90 -(% class="box" %)
91 -(((
92 -display(tsw)
93 -)))
94 94  
95 95  {{html}}
96 96  <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