antonymilne's picture
Update demo
dda021c
|
raw
history blame
26.5 kB

Visual vocabulary

Welcome to our visual vocabulary dashboard! 🎨

This dashboard serves as a comprehensive guide for selecting and creating various types of charts. It helps you decide when to use each chart type, and offers sample Python code using Plotly, and instructions for embedding these charts into a Vizro dashboard.

The charts in this dashboard are designed to make it easy for anyone to create beautiful and sophisticated visuals.

Our goal is to help you understand best practices in data visualization, ensure your charts effectively communicate your message, and streamline the creation of high-quality, interactive visualizations.

Created by:

Inspired by:

Credits and sources:

Chart types

The dashboard is still in development. Below is an overview of the chart types for which a completed page is available.

Sure, here's the table with all columns aligned for better readability:

Chart Type Status Category Credits & sources API
Arc ❌ Part-to-whole
Area βœ… Time Filled area plot with px px.area
Bar βœ… Magnitude Bar chart with px px.bar
Barcode ❌ Distribution
Beeswarm ❌ Distribution
Boxplot βœ… Distribution Box plot with px px.box
Bubble βœ… Correlation Scatter plot with px px.scatter
Bubble map βœ… Spatial Bubble map in px px.scatter_map
Bubble timeline ❌ Time
Bullet ❌ Magnitude
Bump ❌ Ranking
Butterfly βœ… Deviation, Distribution Pyramid charts in Plotly go.Bar
Chord ❌ Flow
Choropleth βœ… Spatial Choropleth map with px px.choropleth
Column βœ… Magnitude, Time Bar chart with px px.bar
Column and line βœ… Correlation, Time Multiple chart types in Plotly go.Bar and go.Scatter
Connected scatter βœ… Correlation, Time Line plot with px px.line
Cumulative curve ❌ Distribution
Diverging bar βœ… Deviation Bar chart with px px.bar
Diverging stacked bar βœ… Deviation Plotly forum - diverging stacked bar go.Bar
Donut βœ… Part-to-whole Pie chart with px px.pie
Dot map βœ… Spatial Bubble map in px px.scatter_map
Dumbbell βœ… Distribution Dumbbell plots in Plotly px.scatter and add_shape
Fan ❌ Time
Flow map ❌ Spatial
Funnel βœ… Part-to-whole Funnel plot with px px.funnel
Gantt βœ… Time Gantt chart with px px.timeline
Gridplot ❌ Part-to-whole
Heatmap βœ… Time Heatmaps with px px.density_heatmap
Correlation matrix ❌ Correlation
Histogram βœ… Distribution Histograms with px px.histogram
Line βœ… Time Line plot with px px.line
Lollipop ❌ Ranking, Magnitude
Marimekko ❌ Magnitude, Part-to-whole
Network ❌ Flow
Ordered bar βœ… Ranking Bar chart with px px.bar
Ordered bubble ❌ Ranking
Ordered column βœ… Ranking Bar chart with px px.bar
Paired bar βœ… Magnitude Histograms with px px.histogram
Paired column βœ… Magnitude Histograms with px px.histogram
Parallel coordinates βœ… Magnitude Parallel coordinates plot with px px.parallel_coordinates
Pictogram ❌ Magnitude
Pie βœ… Part-to-whole Pie chart with px px.pie
Radar βœ… Magnitude Radar chart with px px.line_polar
Radial ❌ Magnitude
Sankey βœ… Flow Sankey diagram in Plotly go.Sankey
Scatter βœ… Correlation Scatter plot with px px.scatter
Scatter matrix βœ… Correlation Scatter matrix with px px.scatter_matrix
Slope ❌ Ranking, Time
Sparkline ❌ Time
Stacked bar βœ… Part-to-whole Histograms with px px.histogram
Stacked column βœ… Part-to-whole Histograms with px px.histogram
Stepped line βœ… Time Line plot with px px.line
Surplus deficit line ❌ Deviation
Treemap βœ… Part-to-whole Treemap with px px.treemap
Venn ❌ Part-to-whole
Violin βœ… Distribution Violin plot with px px.violin
Waterfall βœ… Part-to-whole, Flow Waterfall charts in Plotly go.Waterfall

How to contribute

Contributions are welcome! To contribute a chart, follow the steps below:

  1. Check that a svg file named after the chart type is contained in the assets folder. If not, raise an issue in the repository.
  2. Add the data set to _pages_utils.py if it doesn't already exist. Use existing data sets preferably or any other data set that is publicly available e.g. plotly.express.data
  3. Create a new page for the chart type and add it to the relevant category .py file such as correlation.py, deviation.py, distribution.py, etc. Ensure you add the page to the list of pages at the end of the .py file.
  4. Add a .py file containing a code example of the chart type in the pages/examples folder, for instance, area.py. Take a look at existing examples.
  5. Remove the IncompletePage(..) entry for that chart type in chart_groups.py.
  6. Update this README.md with the new chart type, its status, category, and API links.

How to run the example locally

  1. Run the example with the command hatch run example visual-vocabulary.
  2. You should now be able to access the app locally via http://127.0.0.1:8050/.