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
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
on 2023/05/15 11:25
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
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, thesecond 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 - 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: 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,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. 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>