{ "cells": [ { "cell_type": "markdown", "id": "3c314785", "metadata": {}, "source": [ "# Interaktivní vizualizace dat v Pythonu\n", "## Instalace potřebných knihoven\n", "\n", "Každou buňku s kódem je možné spustit, když kliknete do ní a poté nahoře na tlačítko ▶, případně je možné použít tlačítko ▶▶ (to navíc restartuje kernel; poté spustí buňky jednu po druhé).\n", "\n", "Buňky v notebooku byste měli spouštět v pořadí, jak jsou v notebooku, protože buňky níže často pracují s výsledkem z buněk výše.\n", "\n", "Vedle buněk s kódem jsou zde buňky s markdownem (jako je tato); ty je možné editovat po poklepání (ale přirozeně v nich nelze nic spouštět).\n", "\n", "Pokud nefunguje spuštění dalšího kódu po spuštění a provedení instalace v první buňce, restartujte jádro z menu (Kernel / Restart kernel...)." ] }, { "cell_type": "code", "execution_count": null, "id": "5d145ee1", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Note: you may need to restart the kernel to use updated packages.\n" ] } ], "source": [ "%pip install -Uqq pandas openpyxl itables plotly statsmodels" ] }, { "cell_type": "markdown", "id": "b1c1022d", "metadata": {}, "source": [ "## Načtení dat\n", "\n", "Tato buňka načte data z excelového souboru, který jsme přiložili.\n", "\n", "Poté zobrazí několik prvních řádků.\n", "\n", "Na začátku knihovny je import knihovny `pandas`. Importujeme ji pod krátkým názvem `pd` a pak odkazujeme na její funkce, např. `pd.read_excel`.\n", "\n", "Data máme načtená v proměnné `data`. Jedná se o datový typ `pandas DataFrame`." ] }, { "cell_type": "code", "execution_count": 2, "id": "d6b1af33", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " Rok bc promoce mgr promoce počet učitelů\n", "0 1433 1.0 NaN NaN\n", "1 1434 NaN NaN NaN\n", "2 1435 3.0 NaN 12.0\n", "3 1436 NaN NaN 12.0\n", "4 1437 NaN NaN 12.0\n" ] } ], "source": [ "import pandas as pd\n", "\n", "# Načtení dat\n", "file_path = \"Smahel_Alma.xlsx\"\n", "data = pd.read_excel(file_path)\n", "\n", "# Zobrazení prvních řádků\n", "print(data.head())\n" ] }, { "cell_type": "markdown", "id": "8fc8b55f", "metadata": {}, "source": [ "## Převod tabulky do dlouhého formátu (ze širokého)\n", "\n", "Plotly Express pracuje pouze s dlouhým formátem.\n", "\n", "Použijeme proto další funci z `pandas`, a to `pd.melt` Data zůstanou stejná, pouze se přeskupí.\n", "\n", "Přeskupená data jsou v proměnné `data_long`. Tu si níže zobrazíme." ] }, { "cell_type": "code", "execution_count": 3, "id": "4a200663", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "\n", "
\n", "\n", "
\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "\n", " \n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", " \n", " \n", " \n", "\n", " \n", " \n", " \n", " \n", "\n", " \n", " \n", " \n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " Loading ITables v2.6.2 from the init_notebook_mode cell...\n", " (need help?)
\n", "\n" ], "text/plain": [ " Rok kategorie počet\n", "0 1433 bc promoce 1.0\n", "2 1435 bc promoce 3.0\n", "5 1438 bc promoce 3.0\n", "9 1442 bc promoce 9.0\n", "10 1443 bc promoce 6.0\n", ".. ... ... ...\n", "555 1608 počet učitelů 8.0\n", "556 1609 počet učitelů 8.0\n", "557 1610 počet učitelů 10.0\n", "558 1611 počet učitelů 8.0\n", "559 1612 počet učitelů 10.0\n", "\n", "[343 rows x 3 columns]" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import itables\n", "\n", "itables.init_notebook_mode()\n", "\n", "# Nová proměnná data_long bude obsahovat transformovaná data:\n", "data_long = pd.melt(\n", " data,\n", " id_vars=[\"Rok\"],\n", " value_vars=[\"bc promoce\", \"mgr promoce\", \"počet učitelů\"],\n", " var_name=\"kategorie\",\n", " value_name=\"počet\",\n", ").dropna()\n", "\n", "# Zobrazení proměnné\n", "data_long" ] }, { "cell_type": "markdown", "id": "830f7480", "metadata": {}, "source": [ "# Interaktivní vizualizace (Plotly Express)\n", "\n", "## 1. Základní vizualizace\n", "\n", "Výchozí vzhled grafu.\n", "\n", "Popisky na základě názvů v datech." ] }, { "cell_type": "code", "execution_count": 5, "id": "b4e953a9", "metadata": {}, "outputs": [ { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "hovertemplate": "kategorie=bc promoce
Rok=%{x}
počet=%{y}", "legendgroup": "bc promoce", "marker": { "color": "blue", "symbol": "circle" }, "mode": "markers", "name": "bc promoce", "orientation": "v", "showlegend": true, "type": "scatter", "x": { "bdata": "mQWbBZ4FogWjBaQFpQWmBacFqAWpBaoFqwWsBa0FrgWvBbAFsQWyBbMFtAW1BbYFtwW5BboFuwW8Bb4FwAXCBcQFxgXHBcgFyQXMBc4FzwXQBdEF0wXUBdUF1wXZBdoF2wXcBd4F4AXiBeQF5QXnBegF6wXsBe0F7wXwBfEF8gXzBfQF9gX4BfoF/AX+Bf8FAQYEBgcGCAYKBgwGDgYQBhEGEwYWBhgGGgYcBh4GIAYiBiMGJQYnBikGKgYsBi0GLwYxBjUGNwY5BjsGPQY/BkEGQwZFBkcGSQZLBkwGTQZOBk8GUAZRBlIGUwZUBg==", "dtype": "i2" }, "xaxis": "x", "y": { "bdata": "AAAAAAAA8D8AAAAAAAAIQAAAAAAAAAhAAAAAAAAAIkAAAAAAAAAYQAAAAAAAACZAAAAAAAAAOUAAAAAAAAA0QAAAAAAAACxAAAAAAAAAGEAAAAAAAAAYQAAAAAAAACZAAAAAAAAAAEAAAAAAAAAgQAAAAAAAABhAAAAAAAAAMUAAAAAAAAAAQAAAAAAAABxAAAAAAAAALkAAAAAAAAAsQAAAAAAAABhAAAAAAAAAMEAAAAAAAAAkQAAAAAAAACpAAAAAAAAAJkAAAAAAAAAkQAAAAAAAACBAAAAAAAAALEAAAAAAAAAqQAAAAAAAABRAAAAAAAAAIkAAAAAAAAAmQAAAAAAAACxAAAAAAAAAGEAAAAAAAAAoQAAAAAAAACRAAAAAAAAAJkAAAAAAAAAYQAAAAAAAACBAAAAAAAAALEAAAAAAAAAYQAAAAAAAADBAAAAAAAAAIkAAAAAAAAAmQAAAAAAAACZAAAAAAAAALkAAAAAAAAAkQAAAAAAAABxAAAAAAAAAKEAAAAAAAAAxQAAAAAAAADNAAAAAAAAAM0AAAAAAAAAzQAAAAAAAABhAAAAAAAAAJEAAAAAAAAAxQAAAAAAAABBAAAAAAACAQUAAAAAAAAAwQAAAAAAAACpAAAAAAAAALkAAAAAAAAAUQAAAAAAAADFAAAAAAAAAJEAAAAAAAAAzQAAAAAAAACBAAAAAAAAAKkAAAAAAAAA4QAAAAAAAACpAAAAAAAAAKkAAAAAAAAA9QAAAAAAAAChAAAAAAAAAMUAAAAAAAAA6QAAAAAAAAD5AAAAAAAAAMUAAAAAAAAA8QAAAAAAAADhAAAAAAAAAOEAAAAAAAAAmQAAAAAAAADRAAAAAAACAQEAAAAAAAABDQAAAAAAAADhAAAAAAAAAOUAAAAAAAAAzQAAAAAAAADxAAAAAAAAAPkAAAAAAAAA6QAAAAAAAAC5AAAAAAAAANUAAAAAAAIBCQAAAAAAAADxAAAAAAAAANEAAAAAAAIBEQAAAAAAAADRAAAAAAAAAPEAAAAAAAAA/QAAAAAAAgEJAAAAAAAAAQ0AAAAAAAIBHQAAAAAAAAEpAAAAAAAAAR0AAAAAAAABAQAAAAAAAAEdAAAAAAAAAR0AAAAAAAABPQAAAAAAAgExAAAAAAACAS0AAAAAAAIBOQAAAAAAAAENAAAAAAAAAMUAAAAAAAIBAQAAAAAAAAEBAAAAAAAAAPUAAAAAAAAA7QAAAAAAAgENAAAAAAAAASkAAAAAAAIBMQA==", "dtype": "f8" }, "yaxis": "y" }, { "hovertemplate": "LOWESS trendline

kategorie=bc promoce
Rok=%{x}
počet=%{y} (trend)", "legendgroup": "bc promoce", "marker": { "color": "blue", "symbol": "circle" }, "mode": "lines", "name": "bc promoce", "showlegend": false, "type": "scatter", "x": { "bdata": "mQWbBZ4FogWjBaQFpQWmBacFqAWpBaoFqwWsBa0FrgWvBbAFsQWyBbMFtAW1BbYFtwW5BboFuwW8Bb4FwAXCBcQFxgXHBcgFyQXMBc4FzwXQBdEF0wXUBdUF1wXZBdoF2wXcBd4F4AXiBeQF5QXnBegF6wXsBe0F7wXwBfEF8gXzBfQF9gX4BfoF/AX+Bf8FAQYEBgcGCAYKBgwGDgYQBhEGEwYWBhgGGgYcBh4GIAYiBiMGJQYnBikGKgYsBi0GLwYxBjUGNwY5BjsGPQY/BkEGQwZFBkcGSQZLBkwGTQZOBk8GUAZRBlIGUwZUBg==", "dtype": "i2" }, "xaxis": "x", "y": { "bdata": "L0rdGHb/HUDKZo3L+54eQOi4mHI0jR9AarlZe+NkIEDEeN6+dYwgQC0kJr0PtCBAewK3mLXbIECNsKH+agMhQNljx0IyKyFAMAULRgxTIUBRmjsV+XohQMT77uj4oiFAzN2mPQzLIUAzMBKBM/MhQKi1abpvGyJA6f1/QMJDIkB0pymILGwiQDIdcnavlCJA2i3SbEy9IkCWj/wCBeYiQNy5Sx7aDiNAAPuF/8s3I0CzFBvX2mAjQF+AMB0GiiNAX0x2yEyzI0B8XZ8EJQYkQH+px7yxLyRAI3ZTWlBZJEAADCSb/YIkQJQcYmty1iRAXNhSy+UpJUCDlv+dJ30lQMo8+qT/zyVA5jqoSCgiJkBLQHLn30omQPpg1rFJcyZA7OBkUFibJkCA0BWmxxAnQGI4p4sWXCdAzdmoIp+AJ0AL0RgeUaQnQOTBeW4hxydA+3fvy0UKKEAolWp+wzYoQIrJZ2fuZChADomMVOe3KECABnvo6h8pQGpM/DpuRilAbeZcwCd/KUDz2us418spQPjQXYirSSpAK1pYivrkKkABVIeCwYsrQPIo6Z5LJyxA5a/LWACNLECp4nW7KjUtQPaLcZhcjC1ANc6Dcp+tLkCer87wvQovQBdksSvTdy9AM6rGwEMbMECcEJj/xEswQO7McccogjBAC7f14RizMEA/ZZbcGekwQM/2q+tZGjFANqpPJ6KBMUDHgOcnwOkxQFdS1NLkTzJAs8SUjai4MkA7cgtsUiozQCHOrYIPYjNAfqMytuzbM0BJvJkHVJE0QCisiXwWUjVAimbk4z+KNUBZYrkerxM2QAfhskcRozZA+P0nlkYrN0A9X7qor7g3QMSA192eBzhAi3RgAqezOEASLYZwPMM5QGx3V3JyczpADLw1CBAgO0CK+gVCysk7QFaRxKJTcTxA7HnAi0AXPUDEjBkHArw9QEESQp8NDj5ACErjxqaxPkAS9xkly1Q/QPUsprmu9z9AlUJsbookQEAbPGjt73VAQDfcaYamnkBAy+UiACTwQEBovBzkwUFBQKllAoiN5UFAgdjOuc43QkDs5wOyVopCQKjU6F4q3UJA6iI+xEswQ0DuQsr5uYNDQCZJ1Wpy10NAaFWf6HIrREA5aeIBuH9EQLexnpk81ERAdWjwuPkoRUCYKuYX5n1FQJA2aHZqqEVAxhDKJvbSRUCs8tmmh/1FQJdo/KEdKEZAr2ZDGbdSRkDBdJ1wU31GQDUir23yp0ZAK5XULZTSRkBRreb9OP1GQA==", "dtype": "f8" }, "yaxis": "y" }, { "hovertemplate": "kategorie=mgr promoce
Rok=%{x}
počet=%{y}", "legendgroup": "mgr promoce", "marker": { "color": "green", "symbol": "circle" }, "mode": "markers", "name": "mgr promoce", "orientation": "v", "showlegend": true, "type": "scatter", "x": { "bdata": "oAWjBaQFpQWmBagFqwWuBbAFsgW0BbYFuQW7Bb4FwwXJBc0F1QXbBd4F4QXnBekF6wXuBfIF9AX6Bf4FBQYJBg4GEAYUBhkGHQYhBiQGKAYrBi4GMAY0BjkGPAZABkQGRgZIBkoGTAZNBk4GTwZQBlEGUwY=", "dtype": "i2" }, "xaxis": "x", "y": { "bdata": "AAAAAAAAEEAAAAAAAAAcQAAAAAAAAPA/AAAAAAAACEAAAAAAAADwPwAAAAAAABRAAAAAAAAACEAAAAAAAAAYQAAAAAAAABBAAAAAAAAAJkAAAAAAAAAQQAAAAAAAACJAAAAAAAAAEEAAAAAAAAAcQAAAAAAAABhAAAAAAAAAEEAAAAAAAAAQQAAAAAAAABBAAAAAAAAAGEAAAAAAAAAAQAAAAAAAAAhAAAAAAAAACEAAAAAAAADwPwAAAAAAABRAAAAAAAAAEEAAAAAAAAAcQAAAAAAAABRAAAAAAAAAGEAAAAAAAAAQQAAAAAAAABRAAAAAAAAAIkAAAAAAAAAiQAAAAAAAABBAAAAAAAAAJEAAAAAAAAAAQAAAAAAAACBAAAAAAAAAHEAAAAAAAAAYQAAAAAAAABxAAAAAAAAAIEAAAAAAAAAgQAAAAAAAACBAAAAAAAAAJkAAAAAAAAAkQAAAAAAAACRAAAAAAAAAKEAAAAAAAAAgQAAAAAAAACpAAAAAAAAAJkAAAAAAAAAoQAAAAAAAAChAAAAAAAAAJkAAAAAAAAAgQAAAAAAAACpAAAAAAAAAKkAAAAAAAAAuQAAAAAAAACJAAAAAAAAAM0A=", "dtype": "f8" }, "yaxis": "y" }, { "hovertemplate": "LOWESS trendline

kategorie=mgr promoce
Rok=%{x}
počet=%{y} (trend)", "legendgroup": "mgr promoce", "marker": { "color": "green", "symbol": "circle" }, "mode": "lines", "name": "mgr promoce", "showlegend": false, "type": "scatter", "x": { "bdata": "oAWjBaQFpQWmBagFqwWuBbAFsgW0BbYFuQW7Bb4FwwXJBc0F1QXbBd4F4QXnBekF6wXuBfIF9AX6Bf4FBQYJBg4GEAYUBhkGHQYhBiQGKAYrBi4GMAY0BjkGPAZABkQGRgZIBkoGTAZNBk4GTwZQBlEGUwY=", "dtype": "i2" }, "xaxis": "x", "y": { "bdata": "1rjANPF+EECr9TCMT5YQQJ48g7AMnhBAqxwPjsOlEEABNvy9dK0QQMh7Z4LMvBBAjqcjJNnTEEDE9HgELOsQQD25YWsG+xBAqKubCTkLEUBTJ1Mz2hsRQAly/vP/LBFAtAA2aOBHEUBTRJTYqloRQMGCNVJTeBFAHERxMPqtEUAD5qPVafURQI7609L/KBJALRc+oUSWEkCnTdLPPOMSQCo+TORs/hJAkthLVMYaE0AU6i1SbrcTQImCOLQ29BNA6CDXe3wyFECtWosbpYwUQBkS+GY8DxVAqcTqUG5EFUDgePUmMFAWQLXkxA13FRdAVCuRlG2nGECU1HN13aMZQDpgp8Z+9hpAnsi1H5GHG0BtqjoEFqkcQNjeeMMbDR5AZDcAc7VaH0C0Rc4Ae1IgQF/CqNkRzSBAraB+HjFwIUDR//q69uohQFbyDg15ZiJAatBURFW5IkC+iypLf2AjQJmev3hMNCRAIa/Wo+a0JEAe6OeVFmIlQGT8ilYfESZAm49Z7E9pJkAf/E5Y7sEmQEeHmqv1GidAvbMECWB0J0CCo8dVOKEnQE7M+0MnzidA8TPAyyz7J0Ds7Qa/SCgoQNl3co56VShANky1VhywKEA=", "dtype": "f8" }, "yaxis": "y" }, { "hovertemplate": "kategorie=počet učitelů
Rok=%{x}
počet=%{y}", "legendgroup": "počet učitelů", "marker": { "color": "red", "symbol": "circle" }, "mode": "markers", "name": "počet učitelů", "orientation": "v", "showlegend": true, "type": "scatter", "x": { "bdata": "mwWcBZ0FngWfBaAFoQWiBaMFpAWlBaYFpwWoBakFqgWrBawFrQWuBa8FsAWxBbIFswW0BbUFtgW3BbgFuQW6BbsFvAW9Bb4FvwXABcEFwgXDBcQFxQXGBccFyAXJBcoFywXMBc0FzgXPBdAF0QXSBdMF1AXVBdYF1wXYBdkF2gXbBdwF3QXeBd8F4AXhBeIF4wXkBeUF5gXnBegF6QXqBesF7AXtBe4F7wXwBfEF8gXzBfQF9QX2BfcF+AX5BfoF+wX8Bf0F/gX/BQAGAQYCBgMGBAYFBgYGBwYIBgkGCgYLBgwGDQYOBg8GEAYRBhIGEwYUBhUGFgYXBhgGGQYaBhsGHAYdBh4GHwYgBiEGIgYjBiQGJQYmBicGKAYpBioGKwYsBi0GLgYvBjAGMQY3Bj8GQAZBBkIGQwZEBkUGRgZHBkgGSQZKBksGTAY=", "dtype": "i2" }, "xaxis": "x", "y": { "bdata": "AAAAAAAAKEAAAAAAAAAoQAAAAAAAAChAAAAAAAAAKEAAAAAAAAAoQAAAAAAAACxAAAAAAAAALkAAAAAAAAAsQAAAAAAAAC5AAAAAAAAAMkAAAAAAAAA2QAAAAAAAADhAAAAAAAAAOEAAAAAAAAA5QAAAAAAAADFAAAAAAAAAMUAAAAAAAAAyQAAAAAAAADFAAAAAAAAANEAAAAAAAAAyQAAAAAAAAC5AAAAAAAAANUAAAAAAAAAyQAAAAAAAADNAAAAAAAAANkAAAAAAAAA1QAAAAAAAADVAAAAAAAAAN0AAAAAAAAA2QAAAAAAAADVAAAAAAAAAMUAAAAAAAAAuQAAAAAAAADBAAAAAAAAALkAAAAAAAAAqQAAAAAAAADJAAAAAAAAAMUAAAAAAAAAwQAAAAAAAACxAAAAAAAAALEAAAAAAAAAsQAAAAAAAAC5AAAAAAAAALkAAAAAAAAAwQAAAAAAAADBAAAAAAAAAMkAAAAAAAAAxQAAAAAAAADBAAAAAAAAAMUAAAAAAAAAxQAAAAAAAADBAAAAAAAAAMUAAAAAAAAAwQAAAAAAAADBAAAAAAAAALkAAAAAAAAAsQAAAAAAAACxAAAAAAAAALEAAAAAAAAAxQAAAAAAAAC5AAAAAAAAAMUAAAAAAAAAuQAAAAAAAACxAAAAAAAAAKkAAAAAAAAAqQAAAAAAAACpAAAAAAAAAKkAAAAAAAAAoQAAAAAAAAChAAAAAAAAAKEAAAAAAAAAoQAAAAAAAACpAAAAAAAAAKEAAAAAAAAAqQAAAAAAAAChAAAAAAAAAJkAAAAAAAAAoQAAAAAAAACZAAAAAAAAAJkAAAAAAAAAmQAAAAAAAACZAAAAAAAAAJkAAAAAAAAAoQAAAAAAAAChAAAAAAAAAJkAAAAAAAAAoQAAAAAAAACRAAAAAAAAAJkAAAAAAAAAkQAAAAAAAACBAAAAAAAAAIkAAAAAAAAAgQAAAAAAAACJAAAAAAAAAIkAAAAAAAAAcQAAAAAAAABxAAAAAAAAAHEAAAAAAAAAiQAAAAAAAABhAAAAAAAAAHEAAAAAAAAAcQAAAAAAAACJAAAAAAAAAIkAAAAAAAAAiQAAAAAAAACJAAAAAAAAAIEAAAAAAAAAgQAAAAAAAACJAAAAAAAAAIkAAAAAAAAAiQAAAAAAAACBAAAAAAAAAJEAAAAAAAAAiQAAAAAAAACJAAAAAAAAAIkAAAAAAAAAcQAAAAAAAABxAAAAAAAAAHEAAAAAAAAAiQAAAAAAAACBAAAAAAAAAIkAAAAAAAAAgQAAAAAAAACBAAAAAAAAAHEAAAAAAAAAgQAAAAAAAABhAAAAAAAAAHEAAAAAAAAAgQAAAAAAAABxAAAAAAAAAIEAAAAAAAAAcQAAAAAAAABhAAAAAAAAAIkAAAAAAAAAiQAAAAAAAACBAAAAAAAAAIEAAAAAAAAAcQAAAAAAAABxAAAAAAAAAIEAAAAAAAAAgQAAAAAAAACBAAAAAAAAAHEAAAAAAAAAoQAAAAAAAACJAAAAAAAAAIEAAAAAAAAAmQAAAAAAAACBAAAAAAAAAGEAAAAAAAAAgQAAAAAAAABhAAAAAAAAAJEAAAAAAAAAcQAAAAAAAACJAAAAAAAAAJEAAAAAAAAAkQAAAAAAAACJAAAAAAAAAJEAAAAAAAAAgQAAAAAAAACBAAAAAAAAAIkAAAAAAAAAgQAAAAAAAACBAAAAAAAAAIEAAAAAAAAAkQAAAAAAAACBAAAAAAAAAJEA=", "dtype": "f8" }, "yaxis": "y" }, { "hovertemplate": "LOWESS trendline

kategorie=počet učitelů
Rok=%{x}
počet=%{y} (trend)", "legendgroup": "počet učitelů", "marker": { "color": "red", "symbol": "circle" }, "mode": "lines", "name": "počet učitelů", "showlegend": false, "type": "scatter", "x": { "bdata": "mwWcBZ0FngWfBaAFoQWiBaMFpAWlBaYFpwWoBakFqgWrBawFrQWuBa8FsAWxBbIFswW0BbUFtgW3BbgFuQW6BbsFvAW9Bb4FvwXABcEFwgXDBcQFxQXGBccFyAXJBcoFywXMBc0FzgXPBdAF0QXSBdMF1AXVBdYF1wXYBdkF2gXbBdwF3QXeBd8F4AXhBeIF4wXkBeUF5gXnBegF6QXqBesF7AXtBe4F7wXwBfEF8gXzBfQF9QX2BfcF+AX5BfoF+wX8Bf0F/gX/BQAGAQYCBgMGBAYFBgYGBwYIBgkGCgYLBgwGDQYOBg8GEAYRBhIGEwYUBhUGFgYXBhgGGQYaBhsGHAYdBh4GHwYgBiEGIgYjBiQGJQYmBicGKAYpBioGKwYsBi0GLgYvBjAGMQY3Bj8GQAZBBkIGQwZEBkUGRgZHBkgGSQZKBksGTAY=", "dtype": "i2" }, "xaxis": "x", "y": { "bdata": "zRT28qOhM0C1GZwqtIozQIVCxqC1czNAmv4l3qdcM0ABLIJmikUzQFr5fLhcLjNAKy/CTx4XM0Bwj1u2zv8yQKsI859t6DJAXzXZ3vrQMkDMFg54drkyQB6pAorgoTJALvZgDTmKMkDylr3tf3IyQBlDOhS1WjJAI18lcdhCMkBmGRMj6ioyQNNn5nfqEjJANvvb1Nn6MUD8ZQK3uOIxQArS2XmHyjFArNyKeUayMUAkbQA99pkxQPziFzSXgTFAnTZbtSlpMUBYMaLxrVAxQKVMbv8jODFAT3t3zYsfMUCVEJwk5QYxQOk118Av7jBAblnFTWvVMEClLWFWl7wwQJ+4C1qzozBA7WtQ9b6KMEASIu7cuXEwQIfGTO2jWDBAL2mjIn0/MECSSL9URSYwQNGkjTX8DDBAl4eR4kLnL0CxDFW0abQvQLBKv+psgS9AJjpn9ExOL0DlW8GAChsvQM/srGOm5y5AOpt1TCG0LkCr/y6He4AuQMTyooy0TC5AxsHCtcoYLkC8FgbwuuQtQDMnrQaAsC1Af2Xo0xF8LUDzK1JiZEctQICqScRmEi1AYpJ4SALdLED1i1Te9qEsQJ4WJPxiZixAOksED1EqLEA1UREAz+0rQBKGKMXtsCtAtWdw1sBzK0Cr182pXTYrQCs8WFLY+CpAQw4/J0G7KkBcuTa1pn0qQL04rkMWQCpAdHIl3JoCKkCBfzlfQsUpQHrIlfQciClAecQBpDxLKUAxAh+Msw4pQBoXkxKQ0ihAfV4hptmWKECcmj7DklsoQOtDlbO6IChAGioj7U/mJ0CiO9ZvT6wnQKr3ZJSxcidACPvkMG05J0AKqx7lewAnQDNA36jbxyZApAvtu42PJkArM3POllcmQO7Bbab9HyZA69NsT8roJUC7ynYdCLIlQFlAHqPGeyVANJ5YRhdGJUCW2ViRCRElQO+34VWs3CRAJpnOYw+pJEDWwcy0QnYkQLj9HeBZRCRASYfq3GoTJEDUvkKXieMjQK9S9AbHtCNACg9v4C6HI0AXi3HW2mUjQGcggYqyRSNAaU8AfoQbI0A8/qocL/0iQP4TnjV23yJAA4tLmDTCIkDexSFKTKUiQH0KDCxMfyJA4/FAaEVaIkAACGneQTYiQMbGyt5OEyJAejZZaHzxIUBSMGZk3NAhQFiaJ9SAsSFAR/xUgHuTIUD7CgBT3nYhQHNy76K5WyFAvEFKcRtCIUAfNbJhDyohQF/4SXOfEyFAC9r0vNL+IEAieKysSfUgQOBaH5O37SBATsz4XLXnIEBOmndE1eIgQPmq+0m33iBA+Do7qBDbIEBNq3Kpq9cgQFJkgj9k1CBAfqHvsyPRIEDr+Gr03M0gQF1T8HiJyiBAOw8O7SbHIECEbrKutcMgQPIzkq83wCBAlg+h2K+8IEAEnq+TIbkgQMnL10OQtSBAfa6/Gf+xIECWaJgcca4gQIQ30irpqiBAIjDICWqnIEDTjNdg9qMgQE4x9qKQoCBAn1odDTudIECYZlSw95kgQHZsE3zIliBAOJQxEq+TIEAV7K3TrJAgQHYTCfbCjSBACDEGbfKKIECiPTUZPIggQLPSVeughSBAnC6/1CGDIED1LngionYgQCuZiWQubSBAhlUR951sIEAcxdt5MWwgQDTaA8roayBAjhhyi8NrIEBxNjw4wWsgQD25RR/hayBAflSKjiJsIEAPK2/YhGwgQJ9yJkAHbSBAWECXD6ltIECX0hCfaW4gQG/2nklIbyBAD5j0SERwIEA=", "dtype": "f8" }, "yaxis": "y" } ], "layout": { "height": 600, "legend": { "title": { "text": "kategorie" }, "tracegroupgap": 0 }, "margin": { "t": 60 }, "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmap" } ], "histogram": [ { "marker": { "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "fillpattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermap": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermap" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "autotypenumbers": "strict", "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "sequentialminus": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "radialaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "baxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "caxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 } } }, "width": 1000, "xaxis": { "anchor": "y", "domain": [ 0, 1 ], "title": { "text": "Rok" } }, "yaxis": { "anchor": "x", "domain": [ 0, 1 ], "title": { "text": "počet" } } } } }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import plotly.express as px\n", "\n", "# vytvoříme rozptylový graf (scatter plot)\n", "fig_raw = px.scatter(\n", " data_long, # vstupní data\n", " x=\"Rok\", # osa x\n", " y=\"počet\", # osa y\n", " color=\"kategorie\", # barva dle kategorie\n", " color_discrete_map={ # přiřazení barev\n", " \"bc promoce\": \"blue\",\n", " \"mgr promoce\": \"green\",\n", " \"počet učitelů\": \"red\",\n", " },\n", " trendline=\"lowess\", # trendová čára\n", " width=1000,\n", " height=600, # rozměry grafu\n", ")\n", "\n", "# zobrazíme graf\n", "fig_raw.show()" ] }, { "cell_type": "markdown", "id": "ba18f379", "metadata": {}, "source": [ "## 2. Vizualizace s vlastními popisky\n", "\n", "Čistý vzhled.\n", "\n", "Vylepšené popisky." ] }, { "cell_type": "code", "execution_count": null, "id": "07ace4db", "metadata": {}, "outputs": [ { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "hovertemplate": "Legenda=bakalářské promoce
rok=%{x}
počet=%{y}", "legendgroup": "bakalářské promoce", "marker": { "color": "blue", "opacity": 0.6, "size": 8, "symbol": "circle" }, "mode": "markers", "name": "bakalářské promoce", "orientation": "v", "showlegend": true, "type": "scatter", "x": { "bdata": "mQWbBZ4FogWjBaQFpQWmBacFqAWpBaoFqwWsBa0FrgWvBbAFsQWyBbMFtAW1BbYFtwW5BboFuwW8Bb4FwAXCBcQFxgXHBcgFyQXMBc4FzwXQBdEF0wXUBdUF1wXZBdoF2wXcBd4F4AXiBeQF5QXnBegF6wXsBe0F7wXwBfEF8gXzBfQF9gX4BfoF/AX+Bf8FAQYEBgcGCAYKBgwGDgYQBhEGEwYWBhgGGgYcBh4GIAYiBiMGJQYnBikGKgYsBi0GLwYxBjUGNwY5BjsGPQY/BkEGQwZFBkcGSQZLBkwGTQZOBk8GUAZRBlIGUwZUBg==", "dtype": "i2" }, "xaxis": "x", "y": { "bdata": "AAAAAAAA8D8AAAAAAAAIQAAAAAAAAAhAAAAAAAAAIkAAAAAAAAAYQAAAAAAAACZAAAAAAAAAOUAAAAAAAAA0QAAAAAAAACxAAAAAAAAAGEAAAAAAAAAYQAAAAAAAACZAAAAAAAAAAEAAAAAAAAAgQAAAAAAAABhAAAAAAAAAMUAAAAAAAAAAQAAAAAAAABxAAAAAAAAALkAAAAAAAAAsQAAAAAAAABhAAAAAAAAAMEAAAAAAAAAkQAAAAAAAACpAAAAAAAAAJkAAAAAAAAAkQAAAAAAAACBAAAAAAAAALEAAAAAAAAAqQAAAAAAAABRAAAAAAAAAIkAAAAAAAAAmQAAAAAAAACxAAAAAAAAAGEAAAAAAAAAoQAAAAAAAACRAAAAAAAAAJkAAAAAAAAAYQAAAAAAAACBAAAAAAAAALEAAAAAAAAAYQAAAAAAAADBAAAAAAAAAIkAAAAAAAAAmQAAAAAAAACZAAAAAAAAALkAAAAAAAAAkQAAAAAAAABxAAAAAAAAAKEAAAAAAAAAxQAAAAAAAADNAAAAAAAAAM0AAAAAAAAAzQAAAAAAAABhAAAAAAAAAJEAAAAAAAAAxQAAAAAAAABBAAAAAAACAQUAAAAAAAAAwQAAAAAAAACpAAAAAAAAALkAAAAAAAAAUQAAAAAAAADFAAAAAAAAAJEAAAAAAAAAzQAAAAAAAACBAAAAAAAAAKkAAAAAAAAA4QAAAAAAAACpAAAAAAAAAKkAAAAAAAAA9QAAAAAAAAChAAAAAAAAAMUAAAAAAAAA6QAAAAAAAAD5AAAAAAAAAMUAAAAAAAAA8QAAAAAAAADhAAAAAAAAAOEAAAAAAAAAmQAAAAAAAADRAAAAAAACAQEAAAAAAAABDQAAAAAAAADhAAAAAAAAAOUAAAAAAAAAzQAAAAAAAADxAAAAAAAAAPkAAAAAAAAA6QAAAAAAAAC5AAAAAAAAANUAAAAAAAIBCQAAAAAAAADxAAAAAAAAANEAAAAAAAIBEQAAAAAAAADRAAAAAAAAAPEAAAAAAAAA/QAAAAAAAgEJAAAAAAAAAQ0AAAAAAAIBHQAAAAAAAAEpAAAAAAAAAR0AAAAAAAABAQAAAAAAAAEdAAAAAAAAAR0AAAAAAAABPQAAAAAAAgExAAAAAAACAS0AAAAAAAIBOQAAAAAAAAENAAAAAAAAAMUAAAAAAAIBAQAAAAAAAAEBAAAAAAAAAPUAAAAAAAAA7QAAAAAAAgENAAAAAAAAASkAAAAAAAIBMQA==", "dtype": "f8" }, "yaxis": "y" }, { "hovertemplate": "LOWESS trendline

Legenda=bakalářské promoce
rok=%{x}
počet=%{y} (trend)", "legendgroup": "bakalářské promoce", "marker": { "color": "blue", "opacity": 0.6, "size": 8, "symbol": "circle" }, "mode": "lines", "name": "bakalářské promoce", "showlegend": false, "type": "scatter", "x": { "bdata": "mQWbBZ4FogWjBaQFpQWmBacFqAWpBaoFqwWsBa0FrgWvBbAFsQWyBbMFtAW1BbYFtwW5BboFuwW8Bb4FwAXCBcQFxgXHBcgFyQXMBc4FzwXQBdEF0wXUBdUF1wXZBdoF2wXcBd4F4AXiBeQF5QXnBegF6wXsBe0F7wXwBfEF8gXzBfQF9gX4BfoF/AX+Bf8FAQYEBgcGCAYKBgwGDgYQBhEGEwYWBhgGGgYcBh4GIAYiBiMGJQYnBikGKgYsBi0GLwYxBjUGNwY5BjsGPQY/BkEGQwZFBkcGSQZLBkwGTQZOBk8GUAZRBlIGUwZUBg==", "dtype": "i2" }, "xaxis": "x", "y": { "bdata": "L0rdGHb/HUDKZo3L+54eQOi4mHI0jR9AarlZe+NkIEDEeN6+dYwgQC0kJr0PtCBAewK3mLXbIECNsKH+agMhQNljx0IyKyFAMAULRgxTIUBRmjsV+XohQMT77uj4oiFAzN2mPQzLIUAzMBKBM/MhQKi1abpvGyJA6f1/QMJDIkB0pymILGwiQDIdcnavlCJA2i3SbEy9IkCWj/wCBeYiQNy5Sx7aDiNAAPuF/8s3I0CzFBvX2mAjQF+AMB0GiiNAX0x2yEyzI0B8XZ8EJQYkQH+px7yxLyRAI3ZTWlBZJEAADCSb/YIkQJQcYmty1iRAXNhSy+UpJUCDlv+dJ30lQMo8+qT/zyVA5jqoSCgiJkBLQHLn30omQPpg1rFJcyZA7OBkUFibJkCA0BWmxxAnQGI4p4sWXCdAzdmoIp+AJ0AL0RgeUaQnQOTBeW4hxydA+3fvy0UKKEAolWp+wzYoQIrJZ2fuZChADomMVOe3KECABnvo6h8pQGpM/DpuRilAbeZcwCd/KUDz2us418spQPjQXYirSSpAK1pYivrkKkABVIeCwYsrQPIo6Z5LJyxA5a/LWACNLECp4nW7KjUtQPaLcZhcjC1ANc6Dcp+tLkCer87wvQovQBdksSvTdy9AM6rGwEMbMECcEJj/xEswQO7McccogjBAC7f14RizMEA/ZZbcGekwQM/2q+tZGjFANqpPJ6KBMUDHgOcnwOkxQFdS1NLkTzJAs8SUjai4MkA7cgtsUiozQCHOrYIPYjNAfqMytuzbM0BJvJkHVJE0QCisiXwWUjVAimbk4z+KNUBZYrkerxM2QAfhskcRozZA+P0nlkYrN0A9X7qor7g3QMSA192eBzhAi3RgAqezOEASLYZwPMM5QGx3V3JyczpADLw1CBAgO0CK+gVCysk7QFaRxKJTcTxA7HnAi0AXPUDEjBkHArw9QEESQp8NDj5ACErjxqaxPkAS9xkly1Q/QPUsprmu9z9AlUJsbookQEAbPGjt73VAQDfcaYamnkBAy+UiACTwQEBovBzkwUFBQKllAoiN5UFAgdjOuc43QkDs5wOyVopCQKjU6F4q3UJA6iI+xEswQ0DuQsr5uYNDQCZJ1Wpy10NAaFWf6HIrREA5aeIBuH9EQLexnpk81ERAdWjwuPkoRUCYKuYX5n1FQJA2aHZqqEVAxhDKJvbSRUCs8tmmh/1FQJdo/KEdKEZAr2ZDGbdSRkDBdJ1wU31GQDUir23yp0ZAK5XULZTSRkBRreb9OP1GQA==", "dtype": "f8" }, "yaxis": "y" }, { "hovertemplate": "Legenda=magisterské promoce
rok=%{x}
počet=%{y}", "legendgroup": "magisterské promoce", "marker": { "color": "green", "opacity": 0.6, "size": 8, "symbol": "circle" }, "mode": "markers", "name": "magisterské promoce", "orientation": "v", "showlegend": true, "type": "scatter", "x": { "bdata": "oAWjBaQFpQWmBagFqwWuBbAFsgW0BbYFuQW7Bb4FwwXJBc0F1QXbBd4F4QXnBekF6wXuBfIF9AX6Bf4FBQYJBg4GEAYUBhkGHQYhBiQGKAYrBi4GMAY0BjkGPAZABkQGRgZIBkoGTAZNBk4GTwZQBlEGUwY=", "dtype": "i2" }, "xaxis": "x", "y": { "bdata": "AAAAAAAAEEAAAAAAAAAcQAAAAAAAAPA/AAAAAAAACEAAAAAAAADwPwAAAAAAABRAAAAAAAAACEAAAAAAAAAYQAAAAAAAABBAAAAAAAAAJkAAAAAAAAAQQAAAAAAAACJAAAAAAAAAEEAAAAAAAAAcQAAAAAAAABhAAAAAAAAAEEAAAAAAAAAQQAAAAAAAABBAAAAAAAAAGEAAAAAAAAAAQAAAAAAAAAhAAAAAAAAACEAAAAAAAADwPwAAAAAAABRAAAAAAAAAEEAAAAAAAAAcQAAAAAAAABRAAAAAAAAAGEAAAAAAAAAQQAAAAAAAABRAAAAAAAAAIkAAAAAAAAAiQAAAAAAAABBAAAAAAAAAJEAAAAAAAAAAQAAAAAAAACBAAAAAAAAAHEAAAAAAAAAYQAAAAAAAABxAAAAAAAAAIEAAAAAAAAAgQAAAAAAAACBAAAAAAAAAJkAAAAAAAAAkQAAAAAAAACRAAAAAAAAAKEAAAAAAAAAgQAAAAAAAACpAAAAAAAAAJkAAAAAAAAAoQAAAAAAAAChAAAAAAAAAJkAAAAAAAAAgQAAAAAAAACpAAAAAAAAAKkAAAAAAAAAuQAAAAAAAACJAAAAAAAAAM0A=", "dtype": "f8" }, "yaxis": "y" }, { "hovertemplate": "LOWESS trendline

Legenda=magisterské promoce
rok=%{x}
počet=%{y} (trend)", "legendgroup": "magisterské promoce", "marker": { "color": "green", "opacity": 0.6, "size": 8, "symbol": "circle" }, "mode": "lines", "name": "magisterské promoce", "showlegend": false, "type": "scatter", "x": { "bdata": "oAWjBaQFpQWmBagFqwWuBbAFsgW0BbYFuQW7Bb4FwwXJBc0F1QXbBd4F4QXnBekF6wXuBfIF9AX6Bf4FBQYJBg4GEAYUBhkGHQYhBiQGKAYrBi4GMAY0BjkGPAZABkQGRgZIBkoGTAZNBk4GTwZQBlEGUwY=", "dtype": "i2" }, "xaxis": "x", "y": { "bdata": "1rjANPF+EECr9TCMT5YQQJ48g7AMnhBAqxwPjsOlEEABNvy9dK0QQMh7Z4LMvBBAjqcjJNnTEEDE9HgELOsQQD25YWsG+xBAqKubCTkLEUBTJ1Mz2hsRQAly/vP/LBFAtAA2aOBHEUBTRJTYqloRQMGCNVJTeBFAHERxMPqtEUAD5qPVafURQI7609L/KBJALRc+oUSWEkCnTdLPPOMSQCo+TORs/hJAkthLVMYaE0AU6i1SbrcTQImCOLQ29BNA6CDXe3wyFECtWosbpYwUQBkS+GY8DxVAqcTqUG5EFUDgePUmMFAWQLXkxA13FRdAVCuRlG2nGECU1HN13aMZQDpgp8Z+9hpAnsi1H5GHG0BtqjoEFqkcQNjeeMMbDR5AZDcAc7VaH0C0Rc4Ae1IgQF/CqNkRzSBAraB+HjFwIUDR//q69uohQFbyDg15ZiJAatBURFW5IkC+iypLf2AjQJmev3hMNCRAIa/Wo+a0JEAe6OeVFmIlQGT8ilYfESZAm49Z7E9pJkAf/E5Y7sEmQEeHmqv1GidAvbMECWB0J0CCo8dVOKEnQE7M+0MnzidA8TPAyyz7J0Ds7Qa/SCgoQNl3co56VShANky1VhywKEA=", "dtype": "f8" }, "yaxis": "y" }, { "hovertemplate": "Legenda=počet učitelů
rok=%{x}
počet=%{y}", "legendgroup": "počet učitelů", "marker": { "color": "red", "opacity": 0.6, "size": 8, "symbol": "circle" }, "mode": "markers", "name": "počet učitelů", "orientation": "v", "showlegend": true, "type": "scatter", "x": { "bdata": "mwWcBZ0FngWfBaAFoQWiBaMFpAWlBaYFpwWoBakFqgWrBawFrQWuBa8FsAWxBbIFswW0BbUFtgW3BbgFuQW6BbsFvAW9Bb4FvwXABcEFwgXDBcQFxQXGBccFyAXJBcoFywXMBc0FzgXPBdAF0QXSBdMF1AXVBdYF1wXYBdkF2gXbBdwF3QXeBd8F4AXhBeIF4wXkBeUF5gXnBegF6QXqBesF7AXtBe4F7wXwBfEF8gXzBfQF9QX2BfcF+AX5BfoF+wX8Bf0F/gX/BQAGAQYCBgMGBAYFBgYGBwYIBgkGCgYLBgwGDQYOBg8GEAYRBhIGEwYUBhUGFgYXBhgGGQYaBhsGHAYdBh4GHwYgBiEGIgYjBiQGJQYmBicGKAYpBioGKwYsBi0GLgYvBjAGMQY3Bj8GQAZBBkIGQwZEBkUGRgZHBkgGSQZKBksGTAY=", "dtype": "i2" }, "xaxis": "x", "y": { "bdata": "AAAAAAAAKEAAAAAAAAAoQAAAAAAAAChAAAAAAAAAKEAAAAAAAAAoQAAAAAAAACxAAAAAAAAALkAAAAAAAAAsQAAAAAAAAC5AAAAAAAAAMkAAAAAAAAA2QAAAAAAAADhAAAAAAAAAOEAAAAAAAAA5QAAAAAAAADFAAAAAAAAAMUAAAAAAAAAyQAAAAAAAADFAAAAAAAAANEAAAAAAAAAyQAAAAAAAAC5AAAAAAAAANUAAAAAAAAAyQAAAAAAAADNAAAAAAAAANkAAAAAAAAA1QAAAAAAAADVAAAAAAAAAN0AAAAAAAAA2QAAAAAAAADVAAAAAAAAAMUAAAAAAAAAuQAAAAAAAADBAAAAAAAAALkAAAAAAAAAqQAAAAAAAADJAAAAAAAAAMUAAAAAAAAAwQAAAAAAAACxAAAAAAAAALEAAAAAAAAAsQAAAAAAAAC5AAAAAAAAALkAAAAAAAAAwQAAAAAAAADBAAAAAAAAAMkAAAAAAAAAxQAAAAAAAADBAAAAAAAAAMUAAAAAAAAAxQAAAAAAAADBAAAAAAAAAMUAAAAAAAAAwQAAAAAAAADBAAAAAAAAALkAAAAAAAAAsQAAAAAAAACxAAAAAAAAALEAAAAAAAAAxQAAAAAAAAC5AAAAAAAAAMUAAAAAAAAAuQAAAAAAAACxAAAAAAAAAKkAAAAAAAAAqQAAAAAAAACpAAAAAAAAAKkAAAAAAAAAoQAAAAAAAAChAAAAAAAAAKEAAAAAAAAAoQAAAAAAAACpAAAAAAAAAKEAAAAAAAAAqQAAAAAAAAChAAAAAAAAAJkAAAAAAAAAoQAAAAAAAACZAAAAAAAAAJkAAAAAAAAAmQAAAAAAAACZAAAAAAAAAJkAAAAAAAAAoQAAAAAAAAChAAAAAAAAAJkAAAAAAAAAoQAAAAAAAACRAAAAAAAAAJkAAAAAAAAAkQAAAAAAAACBAAAAAAAAAIkAAAAAAAAAgQAAAAAAAACJAAAAAAAAAIkAAAAAAAAAcQAAAAAAAABxAAAAAAAAAHEAAAAAAAAAiQAAAAAAAABhAAAAAAAAAHEAAAAAAAAAcQAAAAAAAACJAAAAAAAAAIkAAAAAAAAAiQAAAAAAAACJAAAAAAAAAIEAAAAAAAAAgQAAAAAAAACJAAAAAAAAAIkAAAAAAAAAiQAAAAAAAACBAAAAAAAAAJEAAAAAAAAAiQAAAAAAAACJAAAAAAAAAIkAAAAAAAAAcQAAAAAAAABxAAAAAAAAAHEAAAAAAAAAiQAAAAAAAACBAAAAAAAAAIkAAAAAAAAAgQAAAAAAAACBAAAAAAAAAHEAAAAAAAAAgQAAAAAAAABhAAAAAAAAAHEAAAAAAAAAgQAAAAAAAABxAAAAAAAAAIEAAAAAAAAAcQAAAAAAAABhAAAAAAAAAIkAAAAAAAAAiQAAAAAAAACBAAAAAAAAAIEAAAAAAAAAcQAAAAAAAABxAAAAAAAAAIEAAAAAAAAAgQAAAAAAAACBAAAAAAAAAHEAAAAAAAAAoQAAAAAAAACJAAAAAAAAAIEAAAAAAAAAmQAAAAAAAACBAAAAAAAAAGEAAAAAAAAAgQAAAAAAAABhAAAAAAAAAJEAAAAAAAAAcQAAAAAAAACJAAAAAAAAAJEAAAAAAAAAkQAAAAAAAACJAAAAAAAAAJEAAAAAAAAAgQAAAAAAAACBAAAAAAAAAIkAAAAAAAAAgQAAAAAAAACBAAAAAAAAAIEAAAAAAAAAkQAAAAAAAACBAAAAAAAAAJEA=", "dtype": "f8" }, "yaxis": "y" }, { "hovertemplate": "LOWESS trendline

Legenda=počet učitelů
rok=%{x}
počet=%{y} (trend)", "legendgroup": "počet učitelů", "marker": { "color": "red", "opacity": 0.6, "size": 8, "symbol": "circle" }, "mode": "lines", "name": "počet učitelů", "showlegend": false, "type": "scatter", "x": { "bdata": "mwWcBZ0FngWfBaAFoQWiBaMFpAWlBaYFpwWoBakFqgWrBawFrQWuBa8FsAWxBbIFswW0BbUFtgW3BbgFuQW6BbsFvAW9Bb4FvwXABcEFwgXDBcQFxQXGBccFyAXJBcoFywXMBc0FzgXPBdAF0QXSBdMF1AXVBdYF1wXYBdkF2gXbBdwF3QXeBd8F4AXhBeIF4wXkBeUF5gXnBegF6QXqBesF7AXtBe4F7wXwBfEF8gXzBfQF9QX2BfcF+AX5BfoF+wX8Bf0F/gX/BQAGAQYCBgMGBAYFBgYGBwYIBgkGCgYLBgwGDQYOBg8GEAYRBhIGEwYUBhUGFgYXBhgGGQYaBhsGHAYdBh4GHwYgBiEGIgYjBiQGJQYmBicGKAYpBioGKwYsBi0GLgYvBjAGMQY3Bj8GQAZBBkIGQwZEBkUGRgZHBkgGSQZKBksGTAY=", "dtype": "i2" }, "xaxis": "x", "y": { "bdata": "zRT28qOhM0C1GZwqtIozQIVCxqC1czNAmv4l3qdcM0ABLIJmikUzQFr5fLhcLjNAKy/CTx4XM0Bwj1u2zv8yQKsI859t6DJAXzXZ3vrQMkDMFg54drkyQB6pAorgoTJALvZgDTmKMkDylr3tf3IyQBlDOhS1WjJAI18lcdhCMkBmGRMj6ioyQNNn5nfqEjJANvvb1Nn6MUD8ZQK3uOIxQArS2XmHyjFArNyKeUayMUAkbQA99pkxQPziFzSXgTFAnTZbtSlpMUBYMaLxrVAxQKVMbv8jODFAT3t3zYsfMUCVEJwk5QYxQOk118Av7jBAblnFTWvVMEClLWFWl7wwQJ+4C1qzozBA7WtQ9b6KMEASIu7cuXEwQIfGTO2jWDBAL2mjIn0/MECSSL9URSYwQNGkjTX8DDBAl4eR4kLnL0CxDFW0abQvQLBKv+psgS9AJjpn9ExOL0DlW8GAChsvQM/srGOm5y5AOpt1TCG0LkCr/y6He4AuQMTyooy0TC5AxsHCtcoYLkC8FgbwuuQtQDMnrQaAsC1Af2Xo0xF8LUDzK1JiZEctQICqScRmEi1AYpJ4SALdLED1i1Te9qEsQJ4WJPxiZixAOksED1EqLEA1UREAz+0rQBKGKMXtsCtAtWdw1sBzK0Cr182pXTYrQCs8WFLY+CpAQw4/J0G7KkBcuTa1pn0qQL04rkMWQCpAdHIl3JoCKkCBfzlfQsUpQHrIlfQciClAecQBpDxLKUAxAh+Msw4pQBoXkxKQ0ihAfV4hptmWKECcmj7DklsoQOtDlbO6IChAGioj7U/mJ0CiO9ZvT6wnQKr3ZJSxcidACPvkMG05J0AKqx7lewAnQDNA36jbxyZApAvtu42PJkArM3POllcmQO7Bbab9HyZA69NsT8roJUC7ynYdCLIlQFlAHqPGeyVANJ5YRhdGJUCW2ViRCRElQO+34VWs3CRAJpnOYw+pJEDWwcy0QnYkQLj9HeBZRCRASYfq3GoTJEDUvkKXieMjQK9S9AbHtCNACg9v4C6HI0AXi3HW2mUjQGcggYqyRSNAaU8AfoQbI0A8/qocL/0iQP4TnjV23yJAA4tLmDTCIkDexSFKTKUiQH0KDCxMfyJA4/FAaEVaIkAACGneQTYiQMbGyt5OEyJAejZZaHzxIUBSMGZk3NAhQFiaJ9SAsSFAR/xUgHuTIUD7CgBT3nYhQHNy76K5WyFAvEFKcRtCIUAfNbJhDyohQF/4SXOfEyFAC9r0vNL+IEAieKysSfUgQOBaH5O37SBATsz4XLXnIEBOmndE1eIgQPmq+0m33iBA+Do7qBDbIEBNq3Kpq9cgQFJkgj9k1CBAfqHvsyPRIEDr+Gr03M0gQF1T8HiJyiBAOw8O7SbHIECEbrKutcMgQPIzkq83wCBAlg+h2K+8IEAEnq+TIbkgQMnL10OQtSBAfa6/Gf+xIECWaJgcca4gQIQ30irpqiBAIjDICWqnIEDTjNdg9qMgQE4x9qKQoCBAn1odDTudIECYZlSw95kgQHZsE3zIliBAOJQxEq+TIEAV7K3TrJAgQHYTCfbCjSBACDEGbfKKIECiPTUZPIggQLPSVeughSBAnC6/1CGDIED1LngionYgQCuZiWQubSBAhlUR951sIEAcxdt5MWwgQDTaA8roayBAjhhyi8NrIEBxNjw4wWsgQD25RR/hayBAflSKjiJsIEAPK2/YhGwgQJ9yJkAHbSBAWECXD6ltIECX0hCfaW4gQG/2nklIbyBAD5j0SERwIEA=", "dtype": "f8" }, "yaxis": "y" } ], "layout": { "height": 600, "legend": { "title": { "text": "Legenda" }, "tracegroupgap": 0 }, "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "white", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "white", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "#C8D4E3", "linecolor": "#C8D4E3", "minorgridcolor": "#C8D4E3", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "#C8D4E3", "linecolor": "#C8D4E3", "minorgridcolor": "#C8D4E3", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmap" } ], "histogram": [ { "marker": { "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "fillpattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermap": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermap" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "autotypenumbers": "strict", "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "sequentialminus": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "white", "showlakes": true, "showland": true, "subunitcolor": "#C8D4E3" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "white", "polar": { "angularaxis": { "gridcolor": "#EBF0F8", "linecolor": "#EBF0F8", "ticks": "" }, "bgcolor": "white", "radialaxis": { "gridcolor": "#EBF0F8", "linecolor": "#EBF0F8", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "white", "gridcolor": "#DFE8F3", "gridwidth": 2, "linecolor": "#EBF0F8", "showbackground": true, "ticks": "", "zerolinecolor": "#EBF0F8" }, "yaxis": { "backgroundcolor": "white", "gridcolor": "#DFE8F3", "gridwidth": 2, "linecolor": "#EBF0F8", "showbackground": true, "ticks": "", "zerolinecolor": "#EBF0F8" }, "zaxis": { "backgroundcolor": "white", "gridcolor": "#DFE8F3", "gridwidth": 2, "linecolor": "#EBF0F8", "showbackground": true, "ticks": "", "zerolinecolor": "#EBF0F8" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "#DFE8F3", "linecolor": "#A2B1C6", "ticks": "" }, "baxis": { "gridcolor": "#DFE8F3", "linecolor": "#A2B1C6", "ticks": "" }, "bgcolor": "white", "caxis": { "gridcolor": "#DFE8F3", "linecolor": "#A2B1C6", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "#EBF0F8", "linecolor": "#EBF0F8", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "#EBF0F8", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "#EBF0F8", "linecolor": "#EBF0F8", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "#EBF0F8", "zerolinewidth": 2 } } }, "title": { "text": "Množství bakalářských a magisterských promocí a počet učitelů
na Univerzitě Karlově v letech 1433–1622" }, "width": 1000, "xaxis": { "anchor": "y", "domain": [ 0, 1 ], "title": { "text": "rok" } }, "yaxis": { "anchor": "x", "domain": [ 0, 1 ], "title": { "text": "počet" } } } } }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# mapování názvů kategorií ze drojových dat na lepší názvy pro popisky\n", "label_map = {\n", " \"bc promoce\": \"bakalářské promoce\",\n", " \"mgr promoce\": \"magisterské promoce\",\n", " \"počet učitelů\": \"počet učitelů\",\n", "}\n", "data_long[\"kategorie\"] = data_long[\"kategorie\"].map(label_map)\n", "\n", "# rozšířená verze grafu\n", "fig_labeled = px.scatter(\n", " data_long,\n", " x=\"Rok\",\n", " y=\"počet\",\n", " color=\"kategorie\",\n", " color_discrete_map={\n", " \"bakalářské promoce\": \"blue\",\n", " \"magisterské promoce\": \"green\",\n", " \"počet učitelů\": \"red\",\n", " },\n", " labels={ # navíc explicitní pojmenování obou os a legendy\n", " \"Rok\": \"rok\",\n", " \"počet\": \"počet\",\n", " \"kategorie\": \"Legenda\",\n", " },\n", " trendline=\"lowess\",\n", " # navíc pojmenování grafu\n", " title=\"Množství bakalářských a magisterských promocí a počet učitelů
na Univerzitě Karlově v letech 1433–1622\",\n", " template=\"plotly_white\", # navíc čistý vzhled\n", " width=1000,\n", " height=600,\n", ")\n", "\n", "# navíc úprava vzhledu bodů (větší, částečně průhledné)\n", "fig_labeled.update_traces(marker=dict(size=8, opacity=0.6))\n", "\n", "# zobrazíme graf\n", "fig_labeled.show()" ] }, { "cell_type": "markdown", "id": "e8ea8477", "metadata": {}, "source": [ "## 3. Pokročilá vizualizace\n", "Jemnější trendová čára." ] }, { "cell_type": "code", "execution_count": null, "id": "2075ecb0", "metadata": {}, "outputs": [ { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "hovertemplate": "Legenda=bakalářské promoce
rok=%{x}
počet=%{y}", "legendgroup": "bakalářské promoce", "marker": { "color": "blue", "opacity": 0.6, "size": 8, "symbol": "circle" }, "mode": "markers", "name": "bakalářské promoce", "orientation": "v", "showlegend": true, "type": "scatter", "x": { "bdata": "mQWbBZ4FogWjBaQFpQWmBacFqAWpBaoFqwWsBa0FrgWvBbAFsQWyBbMFtAW1BbYFtwW5BboFuwW8Bb4FwAXCBcQFxgXHBcgFyQXMBc4FzwXQBdEF0wXUBdUF1wXZBdoF2wXcBd4F4AXiBeQF5QXnBegF6wXsBe0F7wXwBfEF8gXzBfQF9gX4BfoF/AX+Bf8FAQYEBgcGCAYKBgwGDgYQBhEGEwYWBhgGGgYcBh4GIAYiBiMGJQYnBikGKgYsBi0GLwYxBjUGNwY5BjsGPQY/BkEGQwZFBkcGSQZLBkwGTQZOBk8GUAZRBlIGUwZUBg==", "dtype": "i2" }, "xaxis": "x", "y": { "bdata": "AAAAAAAA8D8AAAAAAAAIQAAAAAAAAAhAAAAAAAAAIkAAAAAAAAAYQAAAAAAAACZAAAAAAAAAOUAAAAAAAAA0QAAAAAAAACxAAAAAAAAAGEAAAAAAAAAYQAAAAAAAACZAAAAAAAAAAEAAAAAAAAAgQAAAAAAAABhAAAAAAAAAMUAAAAAAAAAAQAAAAAAAABxAAAAAAAAALkAAAAAAAAAsQAAAAAAAABhAAAAAAAAAMEAAAAAAAAAkQAAAAAAAACpAAAAAAAAAJkAAAAAAAAAkQAAAAAAAACBAAAAAAAAALEAAAAAAAAAqQAAAAAAAABRAAAAAAAAAIkAAAAAAAAAmQAAAAAAAACxAAAAAAAAAGEAAAAAAAAAoQAAAAAAAACRAAAAAAAAAJkAAAAAAAAAYQAAAAAAAACBAAAAAAAAALEAAAAAAAAAYQAAAAAAAADBAAAAAAAAAIkAAAAAAAAAmQAAAAAAAACZAAAAAAAAALkAAAAAAAAAkQAAAAAAAABxAAAAAAAAAKEAAAAAAAAAxQAAAAAAAADNAAAAAAAAAM0AAAAAAAAAzQAAAAAAAABhAAAAAAAAAJEAAAAAAAAAxQAAAAAAAABBAAAAAAACAQUAAAAAAAAAwQAAAAAAAACpAAAAAAAAALkAAAAAAAAAUQAAAAAAAADFAAAAAAAAAJEAAAAAAAAAzQAAAAAAAACBAAAAAAAAAKkAAAAAAAAA4QAAAAAAAACpAAAAAAAAAKkAAAAAAAAA9QAAAAAAAAChAAAAAAAAAMUAAAAAAAAA6QAAAAAAAAD5AAAAAAAAAMUAAAAAAAAA8QAAAAAAAADhAAAAAAAAAOEAAAAAAAAAmQAAAAAAAADRAAAAAAACAQEAAAAAAAABDQAAAAAAAADhAAAAAAAAAOUAAAAAAAAAzQAAAAAAAADxAAAAAAAAAPkAAAAAAAAA6QAAAAAAAAC5AAAAAAAAANUAAAAAAAIBCQAAAAAAAADxAAAAAAAAANEAAAAAAAIBEQAAAAAAAADRAAAAAAAAAPEAAAAAAAAA/QAAAAAAAgEJAAAAAAAAAQ0AAAAAAAIBHQAAAAAAAAEpAAAAAAAAAR0AAAAAAAABAQAAAAAAAAEdAAAAAAAAAR0AAAAAAAABPQAAAAAAAgExAAAAAAACAS0AAAAAAAIBOQAAAAAAAAENAAAAAAAAAMUAAAAAAAIBAQAAAAAAAAEBAAAAAAAAAPUAAAAAAAAA7QAAAAAAAgENAAAAAAAAASkAAAAAAAIBMQA==", "dtype": "f8" }, "yaxis": "y" }, { "hovertemplate": "LOWESS trendline

Legenda=bakalářské promoce
rok=%{x}
počet=%{y} (trend)", "legendgroup": "bakalářské promoce", "line": { "width": 2 }, "marker": { "color": "blue", "symbol": "circle" }, "mode": "lines", "name": "bakalářské promoce", "showlegend": false, "type": "scatter", "x": { "bdata": "mQWbBZ4FogWjBaQFpQWmBacFqAWpBaoFqwWsBa0FrgWvBbAFsQWyBbMFtAW1BbYFtwW5BboFuwW8Bb4FwAXCBcQFxgXHBcgFyQXMBc4FzwXQBdEF0wXUBdUF1wXZBdoF2wXcBd4F4AXiBeQF5QXnBegF6wXsBe0F7wXwBfEF8gXzBfQF9gX4BfoF/AX+Bf8FAQYEBgcGCAYKBgwGDgYQBhEGEwYWBhgGGgYcBh4GIAYiBiMGJQYnBikGKgYsBi0GLwYxBjUGNwY5BjsGPQY/BkEGQwZFBkcGSQZLBkwGTQZOBk8GUAZRBlIGUwZUBg==", "dtype": "i2" }, "xaxis": "x", "y": { "bdata": "gUta1JSgFECKoEB335gWQDVe6HoObBlAHjeV3GwFHUA/S6SG2+gdQBAjYJ62zB5AEmeH1MyxH0AXziv1XUwgQKXa2j3VwCBAVlRF7Qc2IUCVv+LDUqshQN338829HyJA4NWIedKRIkDrOZb0Of8iQDE4IPVpZCNA67OT4Bq8I0CA5q5Ejf8jQIKkYHgXKiRAtinz8jM9JEDpQwlC3UokQGZKAMoPViRAuZI3esdfJEA6RhpanGgkQCs38ZF7eCRAgfdJliCTJECWaeXDpKokQDJNqIKWuSRAMRx1uSnFJEBRyB7obMskQAJppLdDySRANB2WLQi3JED1p1yDiKokQOXK5bnFniRAWYEBQcqrJECfHMy+HawkQEGgpGLLsSRAGKcVXHjbJEBKbBxTZD4lQPBDczrEySVAcFfVjIgFJkBKhF4x2VQmQGLEjBLGjiZAbgeeiCYDJ0Am0zKaQUEnQHZg7MbJfSdADG0iwtzzJ0B6Y7+JFWwoQLiLIH5toChAutbjUBrnKECv6a7RDwIpQJQ55LUsXClA4JbUlN2yKUA+QuUiDA8qQOGaOao6YSpAh24gkuiZKkBS8bp1o/EqQFWZO0ceHStAZQMM1Ke6K0CMP11e9fArQHAD/ztuKyxA1i3BCjWxLECG0L060P8sQKecj0sTiS1AaT+8WRnwLUCnyjvgeGEuQNi+w0YS3S5AbYuhlcTsL0DzoQo+S5QwQCFWbGXoKjFAuwuaYW/MMUCSWHDyu3UyQCb4XgfxyzJAMWQPSVFyM0DkNQg7fWI0QMlT7EYrSTVAkx0gndOSNUABcpTYACE2QH3eJdLDqDZAlUD7KBMnN0ArP63wEJs3QEB8v7DbwzdAJ+tk62IjOECNBE0nzrU4QEtwT+zuGzlAxV+7jASFOUB8Z9yLr/U5QG6Ub9bxdDpA4GhbS/wGO0B39QuNIsk7QF1uTST+BTxAJNEqW6XHPEDXzSiOAps9QPWAaAHugD5Ax1ib3i37PkCsWeSs0eM/QPVc7a5/NkBAEWKcqym6QECQBXaNGU9BQDB9TTX/dkJAAPX4MJcKQ0BZNll84E5DQLnSRbeDjUNADu6vxQHYQ0AGdkl+cSpEQIwPH+a3gERAunZAKYTYREDy3+G4ZDBFQOgobGtUh0VAFBazJIbcRUCsQxV4Py9GQIXDkZB2V0ZA/IKPPc1+RkBaU5i7M6VGQC3w8M+eykZAzUUVkQvvRkDeXJ7mfxJHQJrpKR4JNUdAEnSgl7pWR0C+mh/Cq3dHQA==", "dtype": "f8" }, "yaxis": "y" }, { "hovertemplate": "Legenda=magisterské promoce
rok=%{x}
počet=%{y}", "legendgroup": "magisterské promoce", "marker": { "color": "green", "opacity": 0.6, "size": 8, "symbol": "circle" }, "mode": "markers", "name": "magisterské promoce", "orientation": "v", "showlegend": true, "type": "scatter", "x": { "bdata": "oAWjBaQFpQWmBagFqwWuBbAFsgW0BbYFuQW7Bb4FwwXJBc0F1QXbBd4F4QXnBekF6wXuBfIF9AX6Bf4FBQYJBg4GEAYUBhkGHQYhBiQGKAYrBi4GMAY0BjkGPAZABkQGRgZIBkoGTAZNBk4GTwZQBlEGUwY=", "dtype": "i2" }, "xaxis": "x", "y": { "bdata": "AAAAAAAAEEAAAAAAAAAcQAAAAAAAAPA/AAAAAAAACEAAAAAAAADwPwAAAAAAABRAAAAAAAAACEAAAAAAAAAYQAAAAAAAABBAAAAAAAAAJkAAAAAAAAAQQAAAAAAAACJAAAAAAAAAEEAAAAAAAAAcQAAAAAAAABhAAAAAAAAAEEAAAAAAAAAQQAAAAAAAABBAAAAAAAAAGEAAAAAAAAAAQAAAAAAAAAhAAAAAAAAACEAAAAAAAADwPwAAAAAAABRAAAAAAAAAEEAAAAAAAAAcQAAAAAAAABRAAAAAAAAAGEAAAAAAAAAQQAAAAAAAABRAAAAAAAAAIkAAAAAAAAAiQAAAAAAAABBAAAAAAAAAJEAAAAAAAAAAQAAAAAAAACBAAAAAAAAAHEAAAAAAAAAYQAAAAAAAABxAAAAAAAAAIEAAAAAAAAAgQAAAAAAAACBAAAAAAAAAJkAAAAAAAAAkQAAAAAAAACRAAAAAAAAAKEAAAAAAAAAgQAAAAAAAACpAAAAAAAAAJkAAAAAAAAAoQAAAAAAAAChAAAAAAAAAJkAAAAAAAAAgQAAAAAAAACpAAAAAAAAAKkAAAAAAAAAuQAAAAAAAACJAAAAAAAAAM0A=", "dtype": "f8" }, "yaxis": "y" }, { "hovertemplate": "LOWESS trendline

Legenda=magisterské promoce
rok=%{x}
počet=%{y} (trend)", "legendgroup": "magisterské promoce", "line": { "width": 2 }, "marker": { "color": "green", "symbol": "circle" }, "mode": "lines", "name": "magisterské promoce", "showlegend": false, "type": "scatter", "x": { "bdata": "oAWjBaQFpQWmBagFqwWuBbAFsgW0BbYFuQW7Bb4FwwXJBc0F1QXbBd4F4QXnBekF6wXuBfIF9AX6Bf4FBQYJBg4GEAYUBhkGHQYhBiQGKAYrBi4GMAY0BjkGPAZABkQGRgZIBkoGTAZNBk4GTwZQBlEGUwY=", "dtype": "i2" }, "xaxis": "x", "y": { "bdata": "lmnvc0j4B0AKsVLRnloKQMUGd/lZJwtApVixmaHzC0A2Vx6c4r4MQDkEb89OUQ5AF7CpFNpREEAuzb2egncRQNR5cWACPhJAU9a1A3IME0DdlALeVu0TQPW1zy1nTBRAX4hvUKaeFEAiwnaHty8UQIxgQVj/wxNAuH702EdnE0AeW5IxwSYSQBwFqUGhChFAXiQseRXADkC/ST8E2hsPQM4V1FcXjw9ArdbS0vkQEEBsrsTi4rYQQCgE/15bKhFALllCh7Z7EUD42sTFRGcSQBjhGNFRCxRAQFsZtN/tFEBwTV4fs4YXQGtYg0vTyhhAVQ8jZe1oGkATxhZhfuoaQFR594mMyxtATpPDJkEzHEABz8Q6t/AcQP6dJRO/jh1A4CvnPEe7HUAVtKJ+tlUeQEnSlS4sKx9AztosKPpMIEB1boSXnPAgQLfZD7V7piFAZGo7WgwhIkAq+fN0ZzgjQKaZlcCejiRAQ+WepLRHJUBNoJxidPQlQBf8SE50lyZA8J/RbEDyJkBJgocghU8nQJBVZxoMridA8E6LuhMNKEBSD8EIpTwoQGMK0SBLbChAFPRKBSucKEBVdHkyXswoQPC3W7Tl/ChAuhHHPJleKUA=", "dtype": "f8" }, "yaxis": "y" }, { "hovertemplate": "Legenda=počet učitelů
rok=%{x}
počet=%{y}", "legendgroup": "počet učitelů", "marker": { "color": "red", "opacity": 0.6, "size": 8, "symbol": "circle" }, "mode": "markers", "name": "počet učitelů", "orientation": "v", "showlegend": true, "type": "scatter", "x": { "bdata": "mwWcBZ0FngWfBaAFoQWiBaMFpAWlBaYFpwWoBakFqgWrBawFrQWuBa8FsAWxBbIFswW0BbUFtgW3BbgFuQW6BbsFvAW9Bb4FvwXABcEFwgXDBcQFxQXGBccFyAXJBcoFywXMBc0FzgXPBdAF0QXSBdMF1AXVBdYF1wXYBdkF2gXbBdwF3QXeBd8F4AXhBeIF4wXkBeUF5gXnBegF6QXqBesF7AXtBe4F7wXwBfEF8gXzBfQF9QX2BfcF+AX5BfoF+wX8Bf0F/gX/BQAGAQYCBgMGBAYFBgYGBwYIBgkGCgYLBgwGDQYOBg8GEAYRBhIGEwYUBhUGFgYXBhgGGQYaBhsGHAYdBh4GHwYgBiEGIgYjBiQGJQYmBicGKAYpBioGKwYsBi0GLgYvBjAGMQY3Bj8GQAZBBkIGQwZEBkUGRgZHBkgGSQZKBksGTAY=", "dtype": "i2" }, "xaxis": "x", "y": { "bdata": "AAAAAAAAKEAAAAAAAAAoQAAAAAAAAChAAAAAAAAAKEAAAAAAAAAoQAAAAAAAACxAAAAAAAAALkAAAAAAAAAsQAAAAAAAAC5AAAAAAAAAMkAAAAAAAAA2QAAAAAAAADhAAAAAAAAAOEAAAAAAAAA5QAAAAAAAADFAAAAAAAAAMUAAAAAAAAAyQAAAAAAAADFAAAAAAAAANEAAAAAAAAAyQAAAAAAAAC5AAAAAAAAANUAAAAAAAAAyQAAAAAAAADNAAAAAAAAANkAAAAAAAAA1QAAAAAAAADVAAAAAAAAAN0AAAAAAAAA2QAAAAAAAADVAAAAAAAAAMUAAAAAAAAAuQAAAAAAAADBAAAAAAAAALkAAAAAAAAAqQAAAAAAAADJAAAAAAAAAMUAAAAAAAAAwQAAAAAAAACxAAAAAAAAALEAAAAAAAAAsQAAAAAAAAC5AAAAAAAAALkAAAAAAAAAwQAAAAAAAADBAAAAAAAAAMkAAAAAAAAAxQAAAAAAAADBAAAAAAAAAMUAAAAAAAAAxQAAAAAAAADBAAAAAAAAAMUAAAAAAAAAwQAAAAAAAADBAAAAAAAAALkAAAAAAAAAsQAAAAAAAACxAAAAAAAAALEAAAAAAAAAxQAAAAAAAAC5AAAAAAAAAMUAAAAAAAAAuQAAAAAAAACxAAAAAAAAAKkAAAAAAAAAqQAAAAAAAACpAAAAAAAAAKkAAAAAAAAAoQAAAAAAAAChAAAAAAAAAKEAAAAAAAAAoQAAAAAAAACpAAAAAAAAAKEAAAAAAAAAqQAAAAAAAAChAAAAAAAAAJkAAAAAAAAAoQAAAAAAAACZAAAAAAAAAJkAAAAAAAAAmQAAAAAAAACZAAAAAAAAAJkAAAAAAAAAoQAAAAAAAAChAAAAAAAAAJkAAAAAAAAAoQAAAAAAAACRAAAAAAAAAJkAAAAAAAAAkQAAAAAAAACBAAAAAAAAAIkAAAAAAAAAgQAAAAAAAACJAAAAAAAAAIkAAAAAAAAAcQAAAAAAAABxAAAAAAAAAHEAAAAAAAAAiQAAAAAAAABhAAAAAAAAAHEAAAAAAAAAcQAAAAAAAACJAAAAAAAAAIkAAAAAAAAAiQAAAAAAAACJAAAAAAAAAIEAAAAAAAAAgQAAAAAAAACJAAAAAAAAAIkAAAAAAAAAiQAAAAAAAACBAAAAAAAAAJEAAAAAAAAAiQAAAAAAAACJAAAAAAAAAIkAAAAAAAAAcQAAAAAAAABxAAAAAAAAAHEAAAAAAAAAiQAAAAAAAACBAAAAAAAAAIkAAAAAAAAAgQAAAAAAAACBAAAAAAAAAHEAAAAAAAAAgQAAAAAAAABhAAAAAAAAAHEAAAAAAAAAgQAAAAAAAABxAAAAAAAAAIEAAAAAAAAAcQAAAAAAAABhAAAAAAAAAIkAAAAAAAAAiQAAAAAAAACBAAAAAAAAAIEAAAAAAAAAcQAAAAAAAABxAAAAAAAAAIEAAAAAAAAAgQAAAAAAAACBAAAAAAAAAHEAAAAAAAAAoQAAAAAAAACJAAAAAAAAAIEAAAAAAAAAmQAAAAAAAACBAAAAAAAAAGEAAAAAAAAAgQAAAAAAAABhAAAAAAAAAJEAAAAAAAAAcQAAAAAAAACJAAAAAAAAAJEAAAAAAAAAkQAAAAAAAACJAAAAAAAAAJEAAAAAAAAAgQAAAAAAAACBAAAAAAAAAIkAAAAAAAAAgQAAAAAAAACBAAAAAAAAAIEAAAAAAAAAkQAAAAAAAACBAAAAAAAAAJEA=", "dtype": "f8" }, "yaxis": "y" }, { "hovertemplate": "LOWESS trendline

Legenda=počet učitelů
rok=%{x}
počet=%{y} (trend)", "legendgroup": "počet učitelů", "line": { "width": 2 }, "marker": { "color": "red", "symbol": "circle" }, "mode": "lines", "name": "počet učitelů", "showlegend": false, "type": "scatter", "x": { "bdata": "mwWcBZ0FngWfBaAFoQWiBaMFpAWlBaYFpwWoBakFqgWrBawFrQWuBa8FsAWxBbIFswW0BbUFtgW3BbgFuQW6BbsFvAW9Bb4FvwXABcEFwgXDBcQFxQXGBccFyAXJBcoFywXMBc0FzgXPBdAF0QXSBdMF1AXVBdYF1wXYBdkF2gXbBdwF3QXeBd8F4AXhBeIF4wXkBeUF5gXnBegF6QXqBesF7AXtBe4F7wXwBfEF8gXzBfQF9QX2BfcF+AX5BfoF+wX8Bf0F/gX/BQAGAQYCBgMGBAYFBgYGBwYIBgkGCgYLBgwGDQYOBg8GEAYRBhIGEwYUBhUGFgYXBhgGGQYaBhsGHAYdBh4GHwYgBiEGIgYjBiQGJQYmBicGKAYpBioGKwYsBi0GLgYvBjAGMQY3Bj8GQAZBBkIGQwZEBkUGRgZHBkgGSQZKBksGTAY=", "dtype": "i2" }, "xaxis": "x", "y": { "bdata": "b9Ta8ar1KkAfHztpWEwrQNTztnQCoStAgZYtg5fzK0ApIBZIDkQsQMTkJ6dmkixAqL7HhqneLEASeQx55CgtQDHHVx8ncS1AvpwYsYa3LUDhSHXQG/wtQGwon/T+Pi5A02YfVU6ALkClZF7aMcAuQOg/n8ze/i5AEJUVtZs8L0BECeYbwXkvQJzGS9i/ti9AIJ11Mir0L0A0QbSJYRkwQKRAG+LBOTBAjn702btbMECQO3kJiH8wQITP2fHkozBAOOxFH0nEMEClWCF74sgwQKCqss/CyTBAEzH6h8XGMEAb5Bp4HcAwQJ6LNCRztjBA5nFRT8KqMEBEx44JBZ4wQBobGBn5kDBAeBgqI8yDMEA6uDlgHHYwQEA26iGLZzBAGtgyEgBYMEAqM2kmmEcwQO+74EymNjBAlLuGCZglMEBf1aKzwxQwQAActw9PBDBAJiSjNH7oL0D2wdwp28gvQP5Va2NVqS9A0U5v9oGJL0DMa8dbgmgvQHzG1gRoRS9ALqa2qJwfL0AhpNiNB/cuQAIUCSijyy5A7jsgfIWdLkDNb4oor2wuQEX621HSOC5APKX5tZUBLkBaxIpX18YtQBMRuQGoiC1A8B7nvBpHLUDQcfXFNgItQNucJ37euSxAxVjkUgxuLEBkk9paHh8sQCxszxK3zStAMBaBqKB6K0D+zzznoCYrQB/yG4iM0ipAxPYbqhR/KkDwwmZViSwqQO4YS6rk2ilANX+TSd+JKUBUJeZfHjkpQK3Rdutp6ChAcxmH1n6XKEBi/JN07kUoQHlKPRpY8ydAoFFYrZafJ0AHfMmtg0onQPtNC+8a9CZAQDylD5GcJkB0WEcrmUQmQGGR+p487SVAAemKlI2XJUAQ9PfVZkQlQAMzOegu9CRAUr7N3gynJEAV+yFmDF0kQHZF+nVAFiRAjxQUULfSI0CfPkq8YJIjQPHWlsghVSNAEUE1+9kaI0D2kUdZeuMiQPQhqDD8riJAb1cYRxh9IkDkyOUxUE0iQHdVHGUZHyJApPNJMCfyIUAO3KvrcsYhQEajEDkxnCFAWiTdKcdzIUDBC6ZMt00hQKaX/mZuKiFAz+w7IW0KIUBOKSah/e0gQF1C+9I81SBASZx4ryfAIEBG2oX+eq4gQDVlFNfGnyBARX6ZRWqTIEBthH2GnYggQEdPDgO7fiBA6LH8blB1IECnc4TN8msgQPbGL8xYYiBAj/LqBENYIEAhQ2xjVE0gQPuMaVVLQSBA0OCggAc0IEBazKurnCUgQGHpv55DFiBAznIzQEwGIEAwwjSUR+wfQFovXbdtzB9AL2Sz1WOuH0CmRRuJS5MfQF2aa8p/ex9A10fAc81mH0DqYj8kMmcfQN6gCXJ3aB9AADDkYBNqH0BX3zVBvF4fQOzCElvFYR9AF6iQnM9jH0BLoYHc92QfQELcGkhoYB9Ao1fPCtJeH0CD/lgUn2AfQBs8lymBZh9A2jV6v25xH0CJWzaNbYIfQEZnuB1jmh9A/A2F2UG5H0Cl3XYp890fQPJE1J9kAyBAAiuxPL0YIEAva3sUzy0gQHkol4O4QSBAeFNYazRUIEAiR8eIrmMgQM1Rvh8ocSBAZzJVSDJ+IECPsg9qDtAgQNc2KvNIQyFAJrAfLxBSIUBDCxKI6mAhQClpNVLUbyFAVZz6HMh+IUD0yuDPv40hQPbDlIe0nCFAceAT8qCrIUAbsIB9gbohQMhCsUFTySFAPbzQChXYIUAYEKWhx+YhQE7/CQdt9SFA25mnXQYEIkA=", "dtype": "f8" }, "yaxis": "y" } ], "layout": { "height": 600, "hovermode": "closest", "legend": { "title": { "text": "Legenda" }, "tracegroupgap": 0 }, "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "white", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "white", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "#C8D4E3", "linecolor": "#C8D4E3", "minorgridcolor": "#C8D4E3", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "#C8D4E3", "linecolor": "#C8D4E3", "minorgridcolor": "#C8D4E3", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmap" } ], "histogram": [ { "marker": { "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "fillpattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermap": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermap" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "autotypenumbers": "strict", "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "sequentialminus": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "white", "showlakes": true, "showland": true, "subunitcolor": "#C8D4E3" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "white", "polar": { "angularaxis": { "gridcolor": "#EBF0F8", "linecolor": "#EBF0F8", "ticks": "" }, "bgcolor": "white", "radialaxis": { "gridcolor": "#EBF0F8", "linecolor": "#EBF0F8", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "white", "gridcolor": "#DFE8F3", "gridwidth": 2, "linecolor": "#EBF0F8", "showbackground": true, "ticks": "", "zerolinecolor": "#EBF0F8" }, "yaxis": { "backgroundcolor": "white", "gridcolor": "#DFE8F3", "gridwidth": 2, "linecolor": "#EBF0F8", "showbackground": true, "ticks": "", "zerolinecolor": "#EBF0F8" }, "zaxis": { "backgroundcolor": "white", "gridcolor": "#DFE8F3", "gridwidth": 2, "linecolor": "#EBF0F8", "showbackground": true, "ticks": "", "zerolinecolor": "#EBF0F8" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "#DFE8F3", "linecolor": "#A2B1C6", "ticks": "" }, "baxis": { "gridcolor": "#DFE8F3", "linecolor": "#A2B1C6", "ticks": "" }, "bgcolor": "white", "caxis": { "gridcolor": "#DFE8F3", "linecolor": "#A2B1C6", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "#EBF0F8", "linecolor": "#EBF0F8", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "#EBF0F8", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "#EBF0F8", "linecolor": "#EBF0F8", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "#EBF0F8", "zerolinewidth": 2 } } }, "title": { "text": "Množství bakalářských a magisterských promocí a počet učitelů
na Univerzitě Karlově v letech 1433–1622" }, "width": 1000, "xaxis": { "anchor": "y", "domain": [ 0, 1 ], "title": { "text": "rok" } }, "yaxis": { "anchor": "x", "domain": [ 0, 1 ], "title": { "text": "počet" } } } }, "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# finální graf – body, česky pojmenované osy, legenda a trendová křivka LOWESS\n", "fig_final = px.scatter(\n", " data_long,\n", " x=\"Rok\",\n", " y=\"počet\",\n", " color=\"kategorie\",\n", " color_discrete_map={\n", " \"bakalářské promoce\": \"blue\",\n", " \"magisterské promoce\": \"green\",\n", " \"počet učitelů\": \"red\",\n", " },\n", " trendline=\"lowess\",\n", " trendline_options=dict(frac=0.3), # úprava plynulosti křivky - jemnější než výchozí hodnota 0.6666666\n", " labels={\"Rok\": \"rok\", \"počet\": \"počet\", \"kategorie\": \"Legenda\"},\n", " title=\"Množství bakalářských a magisterských promocí a počet učitelů
na Univerzitě Karlově v letech 1433–1622\",\n", " template=\"plotly_white\",\n", " width=1000,\n", " height=600,\n", ")\n", "\n", "fig_final.update_traces(marker=dict(size=8, opacity=0.6), selector=dict(mode=\"markers\"))\n", "\n", "# navíc úprava stylu trendové čáry (silnější, plná)\n", "fig_final.update_traces(line=dict(width=2), selector=dict(mode=\"lines\"))\n", "\n", "# navíc lepší chování při přejetí myší\n", "fig_final.update_layout(hovermode=\"closest\")\n", "\n", "# zobrazíme graf\n", "fig_final.show()" ] } ], "metadata": { "kernelspec": { "display_name": "base", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.12.12" } }, "nbformat": 4, "nbformat_minor": 5 }