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 31.1
edited by rominabaila
on 2023/05/15 10:50
Change comment: Uploaded new attachment "plotly.png", version {1}
To version 35.1
edited by rominabaila
on 2023/05/15 11:24
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -6,8 +6,20 @@
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 +== 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 +
11 11  == Inputs ==
12 12  
13 13  Time series can be given as inputs in two forms:
... ... @@ -25,11 +25,15 @@
25 25  
26 26  == Requirements and installation ==
27 27  
40 +
28 28  Before installing the tvb-widgets library containing the TimeSeries widget, the following python libraries and Jupyter extensions should be installed:
29 29  
30 30  * **Libraries:**
31 -** [[mne>>https://mne.tools/0.24/install/index.html]] version 0.24
32 -** [[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
33 33  * (((
34 34  **Extensions:**
35 35  
... ... @@ -38,6 +38,8 @@
38 38  jupyter labextension install @jupyter-widgets/jupyterlab-manager
39 39  
40 40  jupyter labextension install jupyter-matplotlib
57 +
58 +jupyter labextension install jupyterlab-plotly
41 41  )))
42 42  )))
43 43  
... ... @@ -57,28 +57,25 @@
57 57  %matplotlib widget
58 58  )))
59 59  
60 - 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:
61 61  
62 62  (% class="box" %)
63 63  (((
64 -from tvbwidgets.api import TimeSeriesWidget
65 -from IPython.core.display_functions import display
82 +from tvbwidgets.api import plot_timeseries
66 66  )))
67 67  
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):
69 69  
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 +
70 70  (% class="box" %)
71 71  (((
72 -tsw = TimeSeriesWidget()
73 -tsw.add_datatype(tsr)
90 +backend = 'plotly' # change to 'matplotlib' to see the other TS widget
91 +
92 +plot_timeseries(data=tsr, backend=backend)
74 74  )))
75 75  
76 -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.
77 77  
78 -(% class="box" %)
79 -(((
80 -display(tsw)
81 -)))
82 82  
83 83  {{html}}
84 84  <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