Member-only story
5 Amazing Plotly Visualizations You Didn’t Know You Could Create
Explore Waffle Charts, Calendar Plots, Hexagon Maps, Parliament Diagrams, and Bump Charts for Advanced Data Visualizations in Plotly

Plotly is a library that every data scientist should know and master. It allows you to create interactive and highly customizable visualizations that can be easily added to an HTML report created from a Jupyter Notebook or a web application designed with Streamlit or Dash.
Plotly offers a wide range of visualizations, from traditional charts like bar, line, or scatter plots to specialized charts for fields like machine learning, statistics, or finance. Although certain charts are not available in Plotly, this does not mean, by any means, that we cannot create them. With a little ingenuity and combining the visualizations available on the platform, we will see in this article that it is possible to create graphs that, a priori, we thought could not be done.
The article introduces five types of visualizations that we can create in Plotly: (1) calendars, (2) waffle charts, (3) hexagonal maps, (4) parliamentary charts, and (5) bump charts. For each of the visualizations presented, a link is included to an article I previously wrote where you can find the code necessary to recreate each of them.
Let's get started! 📊
1. Calendar Plots
Calendar visualizations are particularly effective at displaying data on a time scale. By coloring cells in different colors or intensities, you can properly observe temporal patterns, such as days with higher concentrations of activity or specific events. Displaying temporal data on a calendar allows you to easily compare months or days of the week while maintaining a yearly perspective.
The following visualization shows the holidays in Barcelona in the year 2024. To create each of the months, a heatmap was used where each cell is colored according to the type of day: weekday, weekend, or holiday. The day of the week was used on the x-axis and the calendar week on the y-axis to place the days in the different cells.