"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Welcome to HoloViz tutorial! In this tutorial, you will make an interactive dashboard like in the image below. You will go through the steps involved in exploring data of different types and sizes, building simple and complex figures, adding interactive behavior and widgets, and deploying full applications. While the tutorial dataset describes earthquake events, the same principles that you will employ in this tutorial can be used for visualization tasks across any domain.\n",
"\n",
"We'll be using a wide range of open-source Python libraries, but focusing on the tools we help maintain as part of the HoloViz project, which include: \n",
"[Panel](https://panel.holoviz.org), \n",
"[hvPlot](https://hvplot.holoviz.org),\n",
"[HoloViews](https://holoviews.org),\n",
"[GeoViews](https://geoviews.org),\n",
"[Datashader](https://datashader.org),\n",
"[Lumen](https://lumen.holoviz.org),\n",
"[Param](https://param.holoviz.org), and \n",
"[Colorcet](https://colorcet.holoviz.org).\n",
"\n",
"\n",
"\n",
"\n",
"This notebook serves as the homepage of the tutorial, including a table of contents letting you launch each tutorial section."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Index and Schedule\n",
"\n",
"- **Introduction and setup**\n",
" * **5 min** [Setup](./00_Setup.ipynb): Setting up the environment and data files.\n",
" * **10 min** [Overview](./01_Overview.ipynb): Overview of the HoloViz tools, philosophy, and approach.\n",
"\n",
"\n",
"- **The `.plot` API: a data-centric approach to visualization** \n",
" * **30 min** [Plotting](./02_Plotting.ipynb): Quick introduction to the `.plot` interface.\n",
" * **20 min** [Composing Plots](./03_Composing_Plots.ipynb): Overlaying and laying out `.hvplot` outputs to show relationships.\n",
" * **15 min** [*Exercise 1*](./exercises/Plotting.ipynb): Building some `.hvplot` visualizations and composing them together\n",
"\n",
"\n",
"- **Building interactivity**\n",
" * **20 min** [Interlinked Plots](./04_Interlinked_Plots.ipynb): Creating linkages between plots\n",
" * **15 min** [*Exercise 2*](./exercises/Linking_Plots.ipynb): Linking the plots from the first exercise\n",
" * **20 min** [Reactive Pipelines](./05_Interactive_Pipelines.ipynb): Creating reactive pipelines that display data, controlled by widgets\n",
" * **15 min** [*Exercise 3*](./exercises/Building_Pipelines.ipynb): Building your own pipelines and visualizations controlled by widgets.\n",
"\n",
"\n",
"- **Building dashboards using Panel**\n",
" * **30 min** [Dashboards](./06_Dashboards.ipynb): How to make apps and dashboards from Python objects.\n",
" * **30 min** [*Exercise 4*](./exercises/Building_a_Dashboard.ipynb): Using a mix of visualizable types, create a panel and serve it.\n",
"\n",
"\n",
"- **Advanced dashboards** (optional)\n",
" * **15 min** [Custom Interactivity](./07_Custom_Interactivity.ipynb): Customizing interactivity in detail.\n",
" * **15 min** [Custom Dashboards](./08_Custom_Dashboards.ipynb): Building fully custom dashboards.\n",
" * **15 min** [Advanced Dashboards](./09_Advanced_Dashboards.ipynb): Building complex dashboards.\n",
" * **30 min** [*Exercise 5*](./exercises/Advanced_Dashboarding.ipynb): Build your own, advanced dashboard."
]
}
],
"metadata": {
"language_info": {
"name": "python",
"pygments_lexer": "ipython3"
}
},
"nbformat": 4,
"nbformat_minor": 4
}