Matplotlib Examples – A comprehensive guide to 40+ advanced visualization with code snippets

Matplotlib is a Python Programming library to create animated, static, and interactive visualizations. It offers various tools to create charts, simple graphs, and other visualizations. It can help us to analyze and present our given data.

With Matplotlib, we can create many plots. We can create scatter, lines, histograms, time series, bars, heat maps, etc. We can customize the appearance and style of our visualizations. We can use diverse options like line styles, font styles, color schemes, and marker types. It offers various features for adding legends, annotations, and other elements.

Let us now see more about the simple plots or charts. We can export it for reports, presentations, and web applications. It also supports various file formats making it easy to import our visualizations. We can see what we can create using Matplotlib with example outputs:

3D Scatter Plot:

A 3D Scatter plot can help display the relationship between three continuous variables. It is an extension of the traditional 2D scatter plot. It is useful when analyzing data that has more than two independent variables.

We can learn to create a 3D scatter plot in Matplotlib in kandi.


Contour Plot:

A Contour Plot can display the relationship between three continuous variables. It can be of constant value for a third variable. It visualizes a 3D surface in two dimensions by showing the lines or contours.

We can learn how to create a contour plot in Matplotlib in kandi.


Box Plot:

The other name for a box plot is a box-and-whisker plot. It helps display a set of continuous data allocations. It shows the quartiles, outliers, and median of the data. It offers a visual representation of the range and variability of the data.

We can learn how to create a box plot in Matplotlib in kandi.

Violin Plot:

A violin plot can display the frequency distribution of a set of continuous data. It is like the boxplots. But, instead of showing the quartiles and outliers. It shows the kernel density estimation of the data.

Using kandi, we can learn how to create a violin plot in Matplotlib.


Errorbar Plot:

An errorbar plot can display the uncertainty or variability of data. It shows the data’s standard deviation, mean, and confidence interval.

With kandi, we can learn how to create an errorbar plot using Matplotlib.


Grid Plot:

Grid plots can be useful for comparing many datasets. It can help in exploring various visualizations or displaying various detail levels. In Matplotlib, a grid plot is a collection of different plots arranged in a grid pattern. Each plot will show a different subset of the data or a different analysis aspect.

Using kandi, we can learn how to create a grid plot using Matplotlib.


Stream Plot:

A stream plot can help visualize the movement or flow of a fluid or a vector field. It is often used in engineering, geology, or physics to represent the behavior of air or fluid masses. It can also represent the movement of objects in a two-dimensional space.

Let us learn to create a stream plot using Matplotlib.


Stackplot is a function that we can use to create a stacked area plot. It displays the complete data for visualization. It shows every part stacked onto one other and how every part makes the complete figure.

This function creates the plot by creating the plot. We can use x and y coordinates, colors, and baseline. We can use it to plot linear data vertically, stacking every linear plot on another. We use it to generate cumulative plots.

Now, let us learn how to create a stackplot using Matplotlib.


Hexbin Plot:

A hexbin plot can help visualize the distribution of many points in a 2D space. It helps reveal the patterns and density of percentage or proportional data points. A hexbin plot involves binning data points into hexagonal cells. Each cell’s color will denote the number of points it contains.

Let us learn how to create a hexbin plot using Matplotlib.


Quiver Plot:

A quiver plot is a 2D plot that displays vector fields as arrows. The fields can be magnetic fields, wind speed, and fluid velocity. It can help visualize the size and direction of vector fields.

We size the arrow and position per vector field at every grid plot. We can place the length and orientations at the (x, y) coordinate on the grid. It will match the vector’s size and direction.

We can learn how to create a quiver plot using Matplotlib.


Parallel Coordinates Plot:

A parallel coordinate plot is a visualization technique. We can use it to plot multivariate data. It involves plotting many variables on parallel axes. It’s where every axis will represent a single variable. Then we can connect the data points with lines.

A parallel coordinate plot represents each observation in a dataset as a polyline. Here every vertex represents the value of a different variable. We can align the polylines with the variables in the same order. We can arrange it on the x-axis and y-axis, creating a parallel set of lines.

Let us learn about how to create a parallel coordinates plot using Matplotlib.

Polar Plot:

A polar plot is a graph drawn using a polar coordinate system. We can use it to display radial or circular symmetry data. It displays symmetry-like data from a sensor. It monitors signals in all directions around a crucial point.

A polar plot is a type of 2D plot that represents data in polar coordinates. It can be periodic waves, Python functions, or directional distributions. It has a circular graph or angular component.

Now, let us learn how to create a polar plot using Matplotlib.


Word Frequency Plot:

A word frequency plot can display the frequency of occurrence of each word in a document or text. It helps analyze the distribution of words in a corpus. It will help identify the most frequent or important terms.

Let us learn how to create a word frequency plot using Matplotlib.

Joy Plot:

A joy plot is also known as a ridgeline plot. We can stack density plots. It displays the distribution of continuous variables across various categories or groups. It is like a traditional density plot. But instead of overlaying the distribution on top of each other. It will arrange them with common axis coordinates, creating a mountain-like shape.

Let us see how to create a joy plot using Matplotlib.


Kernel Density Estimate Plot:

A kernel density estimate plot can display a continuous variable’s probability density function. It is like a histogram, but it uses discrete bins. It will estimate the density of the data using a smooth curve called the kernel. It is useful for exploring the shape, variability of distribution, and central tendency. It will also help identify clusters or modes.

We can help create a kernel density estimate plot using Matplotlib.


Swarm Plot:

A swarm plot is also known as a beeswarm plot. It can display the distribution of a categorical variable on a continuous variable. It is like a scatter plot instead of placing the points. It will arrange them in a non-overlapping swarm along the axis labels. It can help show the individual observations, relative density, and potential outliers.

Let us learn how to create a swarm plot using Matplotlib.


Calendar Heatmap:

Calendar Heatmap displays data over a conventional calendar year. We can share the days, weeks, and years on a light-to-gradient basis. It depends on the numeric value offered to the visualization. We can use it in different forms of analytics. But we can use it to show user behavior on a specific webpage template.

Let us learn about creating a Calendar heatmap using Matplotlib.


Area Chart:

An area plot is a chart type that is like a line chart. But with the area under the line filled with color to represent the plotting of values. It can show how different datasets contribute to a complete or show changes in data over time.

Learn how to build an area chart using the matplotlib library in kandi.


Gnatt Chart:

Gnatt Charts are the type of bar plots. Each bar in the chart represents an activity or task, and the length of the bar represents the task duration. It can help visualize a project’s schedule of activities and tasks.

Learn how to create a Gnatt chart using Matplotlib in kandi.

Sunburst Chart:

A Sunburst Chart is a hierarchical chart displaying data in a circular format. Each ring in circular format represents a level of the hierarchy. The outermost ring represents the top-level category. Every subsequent ring represents subcategories at lower levels.

A Sunburst Chart is like a treemap or a pie plot. But with a radial layout that emphasizes hierarchy. It allows easy comparison of every category’s relative sizes. We can create a sunburst chart with six categories, each with an unusual color and size.

We can learn about creating a Sunburst Chart using Matplotlib.


Waterfall Chart:

A Waterfall Chart helps visualize how we can make positive and negative changes. It can affect the initial value. Every bar in the chart represents a factor or category contributing to the total change in value. The length and the direction of the bar represent the direction and size of the change.

Learn to create a Waterfall Chart using Matplotlib in kandi.


Donut Chart:

A Donut Chart is a chart type like a pie chart. We can use it for visualizing the proportion in a dataset as a percentage of the whole. But it will have a hole in the center.

We can learn how to create a donut chart with Matplotlib in kandi.


Fan Chart:

A Fan Chart helps visualize uncertainty in future forecasts or projections. It is like a line chart instead of a single line representing the forecast. It shows a range of outcomes with varying probability levels.

Learn how to create a fan chart using Matplotlib in kandi.


Marimekko Chart:

A Marimekko Chart visualizes categorical data and their relative proportions across many dimensions. We can use it to show how to distribute an attribute or variable across many dimensions. It is also known as a mosaic chart or mosaic plot.

Learn how to create a mosaic chart using Matplotlib in kandi.


Bubble Chart:

A Bubble Chart is a chart type used for displaying three data dimensions. It is like a scatter plot but with the addition of a third dimension represented by the marker size on the plot. It is useful when we want to visualize the relationships between three variables.

Using kandi, we can learn how to create a bubble chart using Matplotlib.


Nested Chart:

A Nested Chart is a type of chart used for showing hierarchical data in a structured way. It is also known as a treemap chart or a hierarchical chart. We can display the relative size of categories and subcategories. We can do it in a hierarchical structure.

Using kandi, we can learn how to create a nested chart using Matplotlib.

Sankey Diagram:

A Sankey diagram is a flow diagram. It helps visualize the movement of materials or resources through a system. It is useful for showing the distribution of resources like energy or money. With this, one can identify the relative flow sizes between the various categories.

The Sankey diagram will help us gain insights into the system which we like to visualize. It will help in the decision-making process. It helps optimize resource allocation or identify areas of improvement.

Let us learn to create a Sankey diagram using Matplotlib on kandi.


Advanced customization on our Matplotlib charts:

We can further customize with these advanced Matplotlib features. Here are some available customization features:

  • We can learn to create custom layouts of subplots in Matplotlib using the subplot2grid function. It allows more flexibility in creating custom layouts of matplotlib subplots.

  • We can now learn to create animations in Matplotlib using the FuncAnimation class. This class takes a function that updates the data in a plot at each frame. It then calls that function to create the animation.

  • We can now see how to create plot images using Matplotlib, plot image annotations, and color maps. We can add a colorbar to the plot using the ‘colorbar()’ function. It will add a scale showing the mapping between the values and colors in the array.

  • We can learn about creating interactive plots in Matplotlib. We can do it by using tools like panning and zooming. It allows users to interact with the plot. It will allow operations like selecting elements, changing the data displayed, and zooming.

  • Let us save a plot to a file using the Matplotlib library in Python. We can specify the filename and format, and it will create the file in the current working directory.

  • Subplots are secondary storylines intertwined with a story’s main plot. It involves different characters and settings than a main plot. It often contributes to the story’s theme and can add depth to the narrative. We can now see how to set the spacing between subplots in Matplotlib.

  • We can now see how to change the figure size with subplots in Matplotlib. To adjust the subplot’s figure object size, use the figsize parameter. It will generate a subplot grid and accept diverse options. We can use it to alter the arrangement and look of the subplots.

  • We can use every subplot object’s ‘set_title()’ function. We can now learn to add plot titles to subplots in matplotlib. Atlast, we can add a title to every subplot using this method. We can then generate random data and plot every function in a different subplot.


1. What are Plotting in Python classes, and how can we use Matplotlib?

Plotting is the process of visualizing data in a graphical format. It can create various plots like scatter, histograms, lines, horizontal bar charts, etc.

2. How do I import pyplot from Matplotlib?

We can import ‘pyplot’ using Matplotlib in Python. The statement imports the pyplot module and renames it to ‘plt’. We can use it to the convention to make it easier to type and read code that uses Matplotlib.

3. How to save a plot to a file in Python using Matplotlib?

We can save a plot to a file in Python using Matplotlib. We can use the ‘savefig()’ function. It will generate random data and create a plot using the ‘plot()’ function. To adjust the subplot’s figure size, use the figsize parameter of the subplot function.

4. What are the image formats which Matplotlib supports?

The image formats it supports are Scalable Vector Graphics and Portable Network Graphics. It will support JPEG, Joint Photographic Group, and Tag Image File.

5. What are the differences between Matplotlib and Seaborn Library?

Matplotlib and Seaborn are both libraries that we can use for data visualization. But they have many differences, which we can see below:

Matplotlib Library Seaborn Library
Matplotlib library is a lower-level plotting library. Seaborn Library is a higher-level plotting library.
It offers more control over individual plot elements. It offers more built-in plot types and options for styling.
Matplotlib is a standalone library. It is built on top of Matplotlib and integrates with Pandas data structures.
It requires more manual styling. It offers various built-in themes that we can use to style plots with a few lines of code.
It focuses more on basic lines, bars, and scatter plots. It offers advanced statistical visualizations like distribution, categorical, and regression plots.
It requires more manual handling of missing data and multi-variable plots. It can handle missing data and create visualizations with many variables.
It offers more flexibility for customizing individual plot elements. It is more user-friendly for creating polished, publication-ready visualizations with minimal coding.