From 6efabd2e13d4c62ac56a01b0e74b2b3e159d209c Mon Sep 17 00:00:00 2001 From: Antony Milne Date: Tue, 28 Nov 2023 15:54:53 +0000 Subject: [PATCH] Update docs --- .../user_guides/navigation/custom_icons.png | Bin 27333 -> 12332 bytes .../pages/tutorials/explore_components.md | 4 +- .../docs/pages/user_guides/components.md | 7 + .../docs/pages/user_guides/navigation.md | 8 +- vizro-core/examples/from_yaml/dashboard.yaml | 468 ++---------------- 5 files changed, 42 insertions(+), 445 deletions(-) diff --git a/vizro-core/docs/assets/user_guides/navigation/custom_icons.png b/vizro-core/docs/assets/user_guides/navigation/custom_icons.png index b950531740cb2b917808d242ad32b1e87b69ddbe..19a456bf14b664c610eadbcb9ba78c9b20868fc5 100644 GIT binary patch literal 12332 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 V8%sRI^66D3Nl`hGav^=+{{?zA@Ff5M literal 27333 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 diff --git a/vizro-core/docs/pages/tutorials/explore_components.md b/vizro-core/docs/pages/tutorials/explore_components.md index c398185d0..6d750ae65 100644 --- a/vizro-core/docs/pages/tutorials/explore_components.md +++ b/vizro-core/docs/pages/tutorials/explore_components.md @@ -710,8 +710,8 @@ and how to bring them together. For future dashboard creations, you can explore more about the available dashboard `components` by going through the [user guide](../user_guides/components.md). To gain more in-depth knowledge about the usage and configuration details of `controls`, check out the user guides dedicated to [Filters](../user_guides/filters.md), [Parameters](../user_guides/parameters.md) -and [Selectors](../user_guides/selectors.md). This guide will provide you with valuable insights on utilizing and -customizing controls for interactive functionality in your dashboards. +and [Selectors](../user_guides/selectors.md). If you'd like to understand more about different ways to configure the navigation of your dashboard, head +to [Navigation](../user_guides/navigation.md). Vizro doesn't end here, and we only covered the key features, but there is still much more to explore! You can learn: diff --git a/vizro-core/docs/pages/user_guides/components.md b/vizro-core/docs/pages/user_guides/components.md index 0018964bd..2446fa3cb 100755 --- a/vizro-core/docs/pages/user_guides/components.md +++ b/vizro-core/docs/pages/user_guides/components.md @@ -400,6 +400,13 @@ and provide an attribute selector to select images with that matching URL hash. ### Creating navigation +!!! note + + This section describes how to use the [`Card`][vizro.models.Card] component to create a navigation + card. To configure the navigation panel on the left hand side of the screen, refer to the + [guide on navigation](navigation.md). + + A navigation card allows you to navigate to a different page via a click on the card area. To create a navigation card, do the following: diff --git a/vizro-core/docs/pages/user_guides/navigation.md b/vizro-core/docs/pages/user_guides/navigation.md index 6eb321fa9..4771415ef 100644 --- a/vizro-core/docs/pages/user_guides/navigation.md +++ b/vizro-core/docs/pages/user_guides/navigation.md @@ -56,7 +56,7 @@ By default, if the `navigation` argument is not specified, Vizro creates a navig title: My first page - components: - text: My text here - type: graph + type: card title: My second page - components: - figure: @@ -166,7 +166,7 @@ Another way to group together pages in the navigation is to use a [`NavBar`][viz Group B: - My third page nav_selector: - type: nav_bawr + type: nav_bar ``` === "Result" [![NavBar]][NavBar] @@ -211,7 +211,7 @@ The same configuration for [grouping pages](#grouping-your-pages) applies inside # pages defined as in default example navigation: nav_selector: - type: nav_bawr + type: nav_bar items: - label: Section 1 pages: @@ -256,7 +256,7 @@ You can alter the icons used by specifying the name of the icon in the [Google M # pages defined as in default example navigation: nav_selector: - type: nav_bawr + type: nav_bar items: - label: Section 1 icon: bar_chart diff --git a/vizro-core/examples/from_yaml/dashboard.yaml b/vizro-core/examples/from_yaml/dashboard.yaml index 1c873dbe8..6e01fa8ca 100644 --- a/vizro-core/examples/from_yaml/dashboard.yaml +++ b/vizro-core/examples/from_yaml/dashboard.yaml @@ -1,449 +1,39 @@ +# Still requires a .py to register data connector in Data Manager and parse yaml configuration +# See from_yaml example pages: - components: - - text: | - ![](assets/images/icons/content/hypotheses.svg#icon-top) - - ### Variable Analysis - Analyzing population, GDP per capita and life expectancy on country and continent level. - href: /variable-analysis - type: card - - text: | - ![](assets/images/icons/content/hypotheses.svg#icon-top) - - ### Relationship Analysis - Investigating the interconnection between population, GDP per capita and life expectancy. - href: /relationship-analysis - type: card - - text: | - ![](assets/images/icons/content/collections.svg#icon-top) - - ### Continent Summary - Summarizing the main findings for each continent. - href: /continent-summary - type: card - - text: | - ![](assets/images/icons/content/features.svg#icon-top) - - ### Country Analysis - Discovering how the metrics differ for each country and export data for further investigation. - href: /country-analysis - type: card - layout: - grid: [[0, 1], [2, 3]] - col_gap: 25px - row_gap: 16px - title: Homepage - - components: - - text: | - ### Overview - The world map provides initial insights into the variations of metrics across countries and - continents. Click on Play to see the animation and explore the development over time. - - #### Observation - A global trend of increasing life expectancy emerges, with some exceptions in specific African countries. - Additionally, despite similar population growth rates across continents, the overall global population - continues to expand, with India and China leading the way. Meanwhile, GDP per capita experiences growth in - most regions. - type: card - - figure: - _target_: choropleth - color: lifeExp - data_frame: gapminder - locations: iso_alpha - animation_frame: year - title: Global development over time - labels: - year: Year - lifeExp: Life expectancy - pop: Population - gdpPercap: GDP per capita - id: variable_map - type: graph - - text: | - ### Distribution - The boxplot illustrates the distribution of each metric across continents, facilitating comparisons of life - expectancy, GDP per capita, and population statistics. - - #### Observation - Observations reveal that Europe and Oceania have the highest life expectancy and GDP per capita, likely - influenced by their smaller population growth. Additionally, Asia and America exhibit notable GDP per capita - outliers, indicating variations among countries within these continents or large growth over the observed - years. - type: card - - figure: - _target_: box - color: continent - data_frame: gapminder - x: continent - y: lifeExp - title: Distribution per continent - labels: - year: Year - lifeExp: Life expectancy - pop: Population - gdpPercap: GDP per capita - continent: Continent - color_discrete_map: - Africa: "#00b4ff" - Americas: "#ff9222" - Asia: "#3949ab" - Europe: "#ff5267" - Oceania: "#08bdba" - id: variable_boxplot - type: graph - - text: | - ### Development - The line chart tracks the variable's progress from 1952 to 2007, facilitating a deeper comprehension of each - metric. - - #### Observation - Oceania and Europe are found to have the highest total GDP per capita and exhibit significant growth. In - contrast, Asia, Africa, and America demonstrate a more pronounced upward trend in population increase compared - to Europe and Oceania, suggesting that GDP per capita growth might be influenced by relatively smaller - population growth in the latter two continents. - type: card - - figure: - _target_: line - color: continent - data_frame: gapminder_avg - x: year - y: lifeExp - title: Development between 1952 and 2007 - labels: - year: Year - lifeExp: Life expectancy - pop: Population - gdpPercap: GDP per capita - continent: Continent - color_discrete_map: - Africa: "#00b4ff" - Americas: "#ff9222" - Asia: "#3949ab" - Europe: "#ff5267" - Oceania: "#08bdba" - id: variable_line - type: graph - - text: | - ### Recent status - Examining the data for 2007 provides insight into the current status of each continent and metrics. - - #### Observation - Asia held the largest population, followed by America, Europe, Africa, and Oceania. Life expectancy surpassed - 70 years for all continents, except Africa with 55 years. GDP per capita aligns with earlier findings, with - Oceania and Europe reporting the highest values and Africa recording the lowest. - type: card - - figure: - _target_: bar - color: continent - data_frame: gapminder_avg_2007 - x: lifeExp - y: continent - orientation: h - title: Comparison of average metric for 2007 - labels: - year: Year - lifeExp: Life expectancy - pop: Population - gdpPercap: GDP per capita - continent: Continent - color_discrete_map: - Africa: "#00b4ff" - Americas: "#ff9222" - Asia: "#3949ab" - Europe: "#ff5267" - Oceania: "#08bdba" - id: variable_bar - type: graph - controls: - - selector: - title: Select variable - type: radio_items - value: lifeExp - options: - - lifeExp - - pop - - gdpPercap - targets: - - variable_map.color - - variable_boxplot.y - - variable_line.y - - variable_bar.x - type: parameter - layout: - grid: [[0, 1, 1, 1], [2, 3, 3, 3], [4, 5, 5, 5], [6, 7, 7, 7]] - row_min_height: 400px - row_gap: 25px - title: Variable Analysis - - components: - - text: | - Population, GDP per capita, and life expectancy are interconnected metrics that provide insights into the - socio-economic well-being of a country. Rapid population growth can strain resources and infrastructure, - impacting GDP per capita. Higher GDP per capita often enables better healthcare and improved life expectancy, - but other factors such as healthcare quality and social policies also play significant roles. - type: card - - text: | - #### Last updated - November, 2023 - type: card - - figure: - _target_: box - color: continent - data_frame: gapminder_2007 - x: continent - y: lifeExp - title: Relationship in 2007 - hover_name: country - labels: - year: Year - lifeExp: Life expectancy - pop: Population - gdpPercap: GDP per capita - continent: Continent - color_discrete_map: - Africa: "#00b4ff" - Americas: "#ff9222" - Asia: "#3949ab" - Europe: "#ff5267" - Oceania: "#08bdba" - custom_data: ["continent"] - id: bar_relation_2007 - type: graph - actions: - - function: - _target_: filter_interaction - targets: - - scatter_relation_2007 - - figure: - _target_: scatter - color: continent - data_frame: gapminder_2007 - x: gdpPercap - y: lifeExp - hover_name: country - size_max: 60 - size: pop - labels: - year: Year - lifeExp: Life expectancy - pop: Population - gdpPercap: GDP per capita - continent: Continent - color_discrete_map: - Africa: "#00b4ff" - Americas: "#ff9222" - Asia: "#3949ab" - Europe: "#ff5267" - Oceania: "#08bdba" - id: scatter_relation_2007 - type: graph - figure: _target_: scatter - color: continent - data_frame: gapminder - x: gdpPercap - y: lifeExp - animation_frame: year - animation_group: country - size: pop - hover_name: country - facet_col: continent - range_y: [25, 90] - labels: - year: Year - lifeExp: Life expectancy - pop: Population - gdpPercap: GDP per capita - continent: Continent - color_discrete_map: - Africa: "#00b4ff" - Americas: "#ff9222" - Asia: "#3949ab" - Europe: "#ff5267" - Oceania: "#08bdba" - id: scatter_relation + data_frame: iris + x: sepal_length + y: petal_width + color: species type: graph - controls: - - selector: - title: Choose x-axis - type: dropdown - value: lifeExp - multi: False - options: - - lifeExp - - pop - - gdpPercap - targets: - - scatter_relation_2007.x - - scatter_relation.x - type: parameter - - selector: - title: Choose y-axis - type: dropdown - value: gdpPercap - multi: False - options: - - lifeExp - - pop - - gdpPercap - targets: - - scatter_relation_2007.y - - scatter_relation.y - - bar_relation_2007.y - type: parameter - - selector: - title: Choose bubble size - type: dropdown - value: pop - multi: False - options: - - lifeExp - - pop - - gdpPercap - targets: - - scatter_relation_2007.size - - scatter_relation.size - type: parameter - layout: - grid: - [ - [0, 0, 0, 0, 1], - [2, 2, 3, 3, 3], - [2, 2, 3, 3, 3], - [2, 2, 3, 3, 3], - [2, 2, 3, 3, 3], - [4, 4, 4, 4, 4], - [4, 4, 4, 4, 4], - [4, 4, 4, 4, 4], - [4, 4, 4, 4, 4], - [4, 4, 4, 4, 4], - ] - row_min_height: 100px - row_gap: 25px - title: Relationship Analysis + title: My first page - components: - - text: | - ### Africa - ![](assets/images/continents/africa.svg#my-image) - - Africa, a diverse and expansive continent, faces both challenges and progress in its socio-economic landscape. - In 2007, Africa's GDP per capita was approximately $3,000, reflecting relatively slower growth compared to - other continents like Oceania and Europe. - - However, Africa has shown notable improvements in life expectancy over time, reaching 55 years in 2007. - Despite these economic disparities, Africa's population has been steadily increasing, reflecting its - significant potential for development. - type: card - - text: | - ### Americas - ![](assets/images/continents/america.svg#my-image) - - Comprising North and South America, Americas represents a region of vast geographical and cultural diversity. - In 2007, the continent experienced substantial population growth, with a diverse mix of countries contributing - to this expansion. - - Although its GDP per capita of $11,000 in 2007 exhibited variations across countries, America maintained - similar levels to Asia, reflecting its economic significance. With North America generally reporting higher - life expectancy compared to South America, America remains a region of opportunities and challenges. - type: card - - text: | - ### Asia - ![](assets/images/continents/asia.svg#my-image) - - Asia holds a central role in the global economy. It's growth in GDP per capita to $12,000 in 2007 and - population has been significant, outpacing many other continents. In 2007, it boasted the highest population - among all continents, with countries like China and India leading the way. - - Despite facing various socio-economic challenges, Asia's increasing life expectancy from 46 years to 70 over - the years reflects advancements in healthcare and overall well-being, making it a vital region driving global - progress and development. - type: card - - text: | - ### Europe - ![](assets/images/continents/europe.svg#my-image) - - Europe boasts a strong and thriving economy. In 2007, it exhibited the second-highest GDP per capita of - $25,000 among continents, indicating sustained economic growth and development. - - Europe's life expectancy surpassed 75 years, showcasing a high standard of living and well-established - healthcare systems. With its robust infrastructure, advanced industries, and quality of life, Europe continues - to be a leading force in the global economy. Between 1952 and 2007, Europe's population experienced moderate - growth, with a factor of approximately 1.5, notably lower compared to other continents like Asia and America. - type: card - - text: | - ### Oceania - ![](assets/images/continents/oceania.svg#my-image) - - Oceania, comprising countries like Australia and New Zealand, stands out with notable economic prosperity and - longer life expectancy. In 2007, it boasted the highest GDP per capita of $27,000 among continents and - exhibited one of the highest life expectancy levels, surpassing 80 years. - - Despite a relatively smaller population size, Oceania's strong economic growth has contributed to improved - living standards and overall well-being of its population. - type: card - layout: - grid: [[0], [1], [2], [3], [4]] - row_min_height: 190px - row_gap: 25px - title: Continent Summary + - text: My text here + type: card + title: My second page - components: - figure: - _target_: dash_data_table - data_frame: gapminder - id: dash_data_table_country - id: table_country - title: Table Country - type: table - actions: - - function: - _target_: filter_interaction - targets: - - line_country - - figure: - _target_: line - color: data - data_frame: gapminder_country_analysis - title: Line Country - x: year - y: gdpPercap - labels: - year: Year - data: Data - gdpPercap: GDP per capita - color_discrete_map: - Country: "#afe7f9" - Continent: "#003875" - markers: True - hover_name: country - id: line_country + _target_: scatter + data_frame: iris + x: sepal_length + y: sepal_width + color: species type: graph - - type: button - text: Export data - id: export_data - actions: - - function: - _target_: export_data - targets: - - line_country - controls: - - column: continent - selector: - type: dropdown - value: Europe - multi: False - title: Select continent - type: filter - - column: year - selector: - type: range_slider - title: Select timeframe - type: filter - title: Country Analysis + title: My third page navigation: - pages: - Analysis: - - Homepage - - Variable Analysis - - Relationship Analysis - - Country Analysis - Summary: - - Continent Summary + nav_selector: + type: nav_bar + items: + - label: Section 1 + icon: bar_chart + pages: + - My first page + - My second page + - label: Section 1 + icon: pie_chart + pages: + - My third page +