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
on 2023/05/15 10:50
Change comment:
Uploaded new attachment "plotly.png", version {1}
To version 34.1
edited by rominabaila
on 2023/05/15 11:24
on 2023/05/15 11:24
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -8,6 +8,18 @@ 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 + 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 - TimeSeriesWidget**(frometvb-widgetsAPI)and the**//display//**functionshould 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,todisplayandinteractwith the TimeSerieswidget,the**//get_widget//**////methodis usedinsidethe//**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>