Visualizing data in Metabase - how to build better charts

· 60 minutes


About this event

During this event, Metabase’s Head of Design, Maz Ameli, walked through ways to build better charts in Metabase. Some of the topics covered include creating and customizing line and bar charts, customizing tables, visualizing data on maps, utilizing charts interactivity, and more.


Maz Ameli

Maz Ameli

Head of Design, Metabase

Maz Ameli has been with Metabase since the early days as a lead Product Designer and makeshift UX Researcher, and now serves as the Head of Product Design. Maz was previously a Lead Product Designer at Lookout Mobile Security. He's into baseball, bikes, and building products people love.


Maz kicked off this event by suggesting a few ways to improve looking at lists and records. If your lists or records include metrics or values, you can enable mini bar charts to help you out. Hover over any column in Metabase and select the settings icon to toggle on show mini bar charts.

Next, Maz explained how you can use conditional formatting to easily highlight important data. If you navigate to the visualization settings at the bottom of your list, you can set a rule to a range of values. You can then choose a color range to add semantic meaning to your data, like red to indicate a number that is problematic or needs attention. If you’re working with many metrics and many dimensions with lists or records, you can use the pivot table visualization to further customize rows, columns, and measures; display totals.

When working in dashboards with charts that have multiple dimensions, Maz said you can hover over any chart and click the add series button to show related questions and add them to your chart. After you save the chart, you can hover again over the chart and click the visualization option to visualize the data as different types of charts, like funnels or bar charts. You can also create filters to quickly filter down multiple dimension charts to display results for one specific user or entity.

Let’s say you want to compare what number of your customers are premium customers or have a different type of plan. To display ratios on charts, Maz showed how to join two tables of data and create a custom expression, such as his example of dividing total count by the meals per week to show a ratio of days where meat was consumed during a meal. Maz then went to the visualization settings, toggled on the show the value on data points option under Y Axis options, and changed the formatting to show percentages.

For annotations, Maz showed how to toggle on and use a goal line and trend line. You can also attach event data by clicking the event button at the bottom of the chart. This will help you add important moments in time, like when a blog post was published or an important update was released, to charts so you can track the impact of your work. You can also create different timelines on your chart, which can help you better organize specific moments in time by different topics or concepts.

For bar charts, Maz explained how to click on a bar in any bar chart and click the exclude button to quickly exclude bars from your chart. He also went over how to toggle on 100% stacking, to better understand ratios across multiple different dimensions, from the visualization settings.

Maz suggested using row charts when you have around a dozen distinct values and need help with reading labels, whereas an area chart is best to display data where the primary dimension is time. Under the visualization settings, you can also drag and drop different column headers around under the X Axis option to automatically change the visualization for you versus adjusting individual settings for row charts.

For pie charts, Maz mentioned you can display percentages by toggling on show percentages to display in legend or on the chart itself. For gauge charts, regions are automatically generated based on scalar values from your results, but you can configure the max value so it’s set to what you need. The label feature can add extra semantic meaning for others, that way they know what to look for within each gauge region. For example, setting a certain gauge range color to red and labeling it as bad.

Last, for maps charts, Maz showed how to use longitude and latitude data to update your map view. Once set, you can navigate to visualization settings and change map type to a grid map. This can help you understand regions with a greater degree of precision. Within the map visualization settings, if you click on the region map dropdown and select custom map, you can update the map tile server url or add a custom GeoJSON file to customize your map, similar to Maz’s Hyrule Zelda map example.