Home / Blog / Data Science / Introduction to matplotlib : Types of Plots, Key features

Introduction to matplotlib : Types of Plots, Key features

  • August 01, 2023
  • 2419
  • 71
Author Images

Meet the Author : Mr. Bharani Kumar

Bharani Kumar Depuru is a well known IT personality from Hyderabad. He is the Founder and Director of Innodatatics Pvt Ltd and 360DigiTMG. Bharani Kumar is an IIT and ISB alumni with more than 17 years of experience, he held prominent positions in the IT elites like HSBC, ITC Infotech, Infosys, and Deloitte. He is a prevalent IT consultant specializing in Industrial Revolution 4.0 implementation, Data Analytics practice setup, Artificial Intelligence, Big Data Analytics, Industrial IoT, Business Intelligence and Business Management. Bharani Kumar is also the chief trainer at 360DigiTMG with more than Ten years of experience and has been making the IT transition journey easy for his students. 360DigiTMG is at the forefront of delivering quality education, thereby bridging the gap between academia and industry.

Read More >

Are you curious about Matplotlib's potential in Python Data Visualization?

Explore the magic of Matplotlib as it transforms dull data into captivating visuals, filling your world with vibrant colors, shapes, and patterns.


Matplotlib is a popular 2D plotting library in Python. It was created by John D. Hunter in 2003 with the specific purpose of generating publication-quality plots in Python. The motivation behind its development was to create a plotting tool that could match the plotting capabilities offered by MATLAB, a widely-used software for numerical computing and visualization. By aiming to replicate MATLAB's functionalities, Matplotlib aimed to provide a familiar and powerful plotting solution for Python users, enabling them to create professional-looking plots for various applications, including scientific research, data analysis, and data visualization.

This library allows you to create high-quality, customizable visualizations. Matplotlib provides a wide range of plotting functions and customization options, making it suitable for creating static, animated, and interactive visualizations in Python. These visualizations makes data easier to understand through visual representations.

Learn the core concepts of Data Science Course video on YouTube:

360DigiTMG also offers the Python Course in Bangalore to start a better career. Enroll now!

Which types of plots can users generate using Matplotlib?


With Matplotlib, users can generate different plots like

  • Line plots
  • Scatter plots
  • Bar charts
  • Histograms
  • Pie charts, and many other types of visualizations.

These plots can help you visualize relationships between variables, analyze patterns in your data, and present your findings to others.

It allows customization of colors, markers, line styles, labels, and other visual attributes to create visually appealing and informative plots.

What are the key features of Matplotlib:

Matplotlib’s plotting possibilities: Matplotlib provides users with a wide variety of plot types, including line plots, scatter plots, bar charts, histograms, pie charts, contour plots, 3D plots, and more. This versatility enables users to cater to a diverse range of data visualization needs.

Customization Options: With Matplotlib, users have the flexibility to customize every aspect of their plots, including colors, line styles, markers, labels, titles, axes, legends, gridlines, and more. This level of customization empowers users to create visually stunning and highly informative plots that align with their specific requirements and visual aesthetics.

1. Adding colors: Matplotlib's color customization allows you to create plots that truly resonate with your data's narrative.

To use colors in Matplotlib, you can specify the colors using the color parameter.

2. Line styles: These line styles and markers add unique touches to your plots.

To use line styles in Matplotlib, you can specify the line style using the linestyle parameter.

The linestyle parameter can take the following string values:

'-': Solid line (default)

'--': Dashed line

':': Dotted line

'-.': Dash-dot line

3. Markers: In Matplotlib, markers are symbols used to represent individual data points in plots such as line plots or scatter plots. They play a crucial role in visually distinguishing data points, making it easier to interpret the plot and gain insights from the data.

To use markers in Matplotlib, you can specify the marker style using the marker parameter.

4. Labels: Labels in Matplotlib are essential for providing descriptive names and titles to elements in a plot, improving its clarity and comprehension. Common types of labels include axis labels, titles, legends, and annotations, which all contribute to making visualizations more informative and understandable.

Axis labels: They provide information about the data represented on the X and Y axes of a plot, making it easier to understand and interpret the visualization.

To use axis labels, we use xlabel parameter for specifying X axis label and we use ylabel parameter for specifying Y axis label.

Title: The title provides an overall description or context for the entire plot, helping to convey the main purpose or theme of the visualization.

Becoming a Python expert is possible now with the 360DigiTMG Python Training in Pune . Enroll today.

To use title in Matplotlib, you can specify the title using the title parameter.

Legend: When multiple datasets are plotted in a single graph, a legend can be used to label each dataset, making it easy to differentiate between them.

To use this in Matplotlib, you can specify the legend using the legend parameter.

Annotations: Annotations provide additional information about specific data points or regions in the plot, such as highlighting important values.

To use this in Matplotlib, you can specify this using the annotate parameter.


Publication-Quality Plots: Matplotlib excels in producing publication-quality plots with high-resolution output. Users have control over the resolution, dimensions, and formats of their plots, enabling the creation of professional-looking visualizations that are suitable for academic papers, reports, presentations, and publications.

Integration with Python ecosystem: Matplotlib's strong integration with the Python ecosystem is a notable advantage, as it seamlessly integrates with popular libraries such as NumPy and Pandas, facilitating efficient data manipulation and analysis prior to visualization. Moreover, its compatibility with Jupyter notebooks enhances the interactive exploration and presentation of data, providing a cohesive environment for data analysis and visualization workflows.

Interactive Exploration: Matplotlib can be used in interactive environments like Jupyter notebooks, enabling users to interactively explore and manipulate plots, zoom in/out, and dynamically visualize data.

Extensive Documentation and Resources: Matplotlib stands out with its comprehensive gallery of examples, extensive documentation, tutorials, and strong community support, providing users with valuable resources to learn, troubleshoot, and find inspiration for their visualizations.

In conclusion, Matplotlib is a robust data visualization tool in Python that excels in versatility, customization, publication-quality output, seamless integration with the Python ecosystem, interactive exploration, and a rich resource ecosystem. Its blend of functionality and flexibility makes it the top choice for data scientists, researchers, and analysts aiming to generate visually compelling and impactful plots.

Why is Matplotlib considered relatively low-level compared to other specialized visualization libraries, and what additional effort and coding might be required to create advanced visualizations with it?

Matplotlib is considered relatively low-level compared to some other specialized visualization libraries. This means that generating advanced visualizations with Matplotlib may require additional effort and coding compared to libraries that offer more high-level abstractions.

Here are some points to elaborate on the relatively low-level nature of Matplotlib and the effort required for advanced visualizations:

Fine-grained control: Matplotlib offers precise customization with fine-grained control over plot elements, but this requires users to write more code compared to libraries with higher-level abstractions.

Complex plot configurations: Matplotlib requires a solid understanding of its API and plot layouts to achieve complex configurations like multi-panel figures, shared axes subplots, or insets. Users must manage figure and axes objects, handle spacing, and coordinate transformations meticulously.

Complex data transformations: Advanced visualizations in Matplotlib often require complex data transformations and manipulations. While Matplotlib handles common data structures, users may need to preprocess and reshape their data using libraries like NumPy or Pandas for the desired visualization.

Learning curve: Mastering advanced features of Matplotlib can involve a learning curve despite its comprehensive documentation. Users typically invest time in studying examples, experimenting, and becoming familiar with the library's capabilities to create sophisticated plots successfully.

Integration with other libraries: Advanced visualizations often require integrating Matplotlib with other libraries. For instance, combining Matplotlib with NumPy for numerical computations or with Seaborn for statistical visualization may involve extra code and familiarity with these libraries' APIs.

How to use matplotlib?

Steps to use matplotlib:

To use matplotlib, you first need to install the library using pip. Open your command prompt or terminal and run the following command:

pip install matplotlib

#Import the necessary libraries

Also, check this Python Institute in Hyderabad to start a career in Python.

Once the installation is complete, you can import Matplotlib and start using it for your data visualization tasks.

The import statement is as follows:

import matplotlib.pyplot as plt

This import statement imports the pyplot module from Matplotlib and aliases it as plt.

pyplot module:

The pyplot module of Matplotlib serves as a collection of functions that offer a user-friendly interface for creating and customizing different types of plots, making it a popular and widely utilized component of the Matplotlib library.

Here are a few key functions available in Matplotlib's pyplot module:

plot(), scatter(), bar(), hist(), pie(), xlabel(), ylabel(), title(), legend(), xlim(), ylim(), show(), grid(), annotate(), boxplot(), subplot(), savefig().

The alias plt allows you to refer to the pyplot functions with a shorter and more readable name throughout your code.

#Prepare the data

Next step is to prepare the data

  • Line plot:

    In order to create a line plot, you typically require a pair of arrays or lists that represent the X-axis and Y-axis values respectively.

  • Scatter plot:

    In order to create a scatter plot, you typically require a pair of arrays or lists that represent the X-axis and Y-axis values respectively.

  • Bar chart:

    In order to create a bar chart, you typically need an array or list representing the categories or labels and another array or list representing the corresponding heights or values.

  • Histogram:

    In order to create a histogram, you need a single array or list of values that will be binned and plotted.

  • Pie chart:

    In order to create a pie chart, you need an array or list of values representing the sizes or proportions of each slice, and another array or list containing the corresponding labels.

#Plot the data

After preparing the data, the next step is to plot the data.

For plotting, use the available plot functions in Matplotlib to create the desired plot.

For example:

To create a line plot, use the plt.plot() function.

To create a scatter plot, use the plt.scatter() function.

To create a bar chart, use the plt.bar() function.

To create a histogram, use the plt.hist() function.

To create a pie chart, use the plt.pie() function.

#Customize the plots

After plotting we can customize the plots which is the optional step.

To customize plots using Matplotlib in Python, you can use various functions and methods provided by the library.

Some of the functions and methods for customizing the plots include:

Become a Python expert with 360DigiTMG Python Training in Chennai. Get trained by the 360DigiTMG.

Labels and Titles:
  • Set the X-axis label: plt.xlabel('X-axis label')
  • Set the Y-axis label: plt.ylabel('Y-axis label')
  • Set the title: plt.title('Plot title')
Line and Marker Styles:
  • Change line color: plt.plot(x, y, color='red')
  • Change line style: plt.plot(x, y, linestyle='--')
  • Change marker style: plt.plot(x, y, marker='o')
  • Add a legend: plt.legend()
  • Customize legend location: plt.legend(loc='upper right')
  • Show gridlines: plt.grid(True)
  • Customize gridline appearance: plt.grid(color='gray', linestyle='--', linewidth=0.5)
Plot Size and Resolution:
  • Set plot size: plt.figure(figsize=(8, 6))
  • Set plot resolution: plt.savefig('filename.png', dpi=300)
Colors and Colormaps:
  • Specify line or marker color: plt.plot(x, y, color='blue')
  • Use colormaps for color variations: plt.scatter(x, y, c=z, cmap='viridis')

These are just a few examples of the customization options available in Matplotlib. You can explore the Matplotlib documentation and experiment with different functions and parameters to achieve the desired visual appearance and style for your plots.

#Display the plot

And finally we have to display the plot.

To display the plots created using Matplotlib in python, you can use the plt.show() function. This function will open a window and render the plots for you to view.


Here are some of the examples of creating line plot, scatter plot, bar chart, histogram, pie chart using matplotlib:

A simple example of using Matplotlib to create a line plot for some sample data is as follows:


A simple example of using Matplotlib to create a scatter plot in Python for some sample data is as follows:


A simple example of using Matplotlib to create a bar chart in Python for some sample data is as follows:


A simple example of using Matplotlib to create a histogram in Python for some sample data is as follows:


A simple example of using Matplotlib to create a pie chart in Python for some sample data is as follows:



Matplotlib empowers you to create captivating data stories, gain deeper insights, and communicate complex ideas effortlessly. So, dive into Matplotlib, explore its possibilities, and bring your data to life with captivating and easy-to-understand visualizations.In the comments section below, let's collaboratively delve into the world of Matplotlib in Python. Join the discussion, share insights, and collaborate on data visualization. Your active participation is welcome – ask questions, propose ideas, and let's learn together!

Data Science Placement Success Story

Data Science Training Institutes in Other Locations

Agra, Ahmedabad, Amritsar, Anand, Anantapur, Bangalore, Bhopal, Bhubaneswar, Chengalpattu, Chennai, Cochin, Dehradun, Malaysia, Dombivli, Durgapur, Ernakulam, Erode, Gandhinagar, Ghaziabad, Gorakhpur, Gwalior, Hebbal, Hyderabad, Jabalpur, Jalandhar, Jammu, Jamshedpur, Jodhpur, Khammam, Kolhapur, Kothrud, Ludhiana, Madurai, Meerut, Mohali, Moradabad, Noida, Pimpri, Pondicherry, Pune, Rajkot, Ranchi, Rohtak, Roorkee, Rourkela, Shimla, Shimoga, Siliguri, Srinagar, Thane, Thiruvananthapuram, Tiruchchirappalli, Trichur, Udaipur, Yelahanka, Andhra Pradesh, Anna Nagar, Bhilai, Borivali, Calicut, Chandigarh, Chromepet, Coimbatore, Dilsukhnagar, ECIL, Faridabad, Greater Warangal, Guduvanchery, Guntur, Gurgaon, Guwahati, Hoodi, Indore, Jaipur, Kalaburagi, Kanpur, Kharadi, Kochi, Kolkata, Kompally, Lucknow, Mangalore, Mumbai, Mysore, Nagpur, Nashik, Navi Mumbai, Patna, Porur, Raipur, Salem, Surat, Thoraipakkam, Trichy, Uppal, Vadodara, Varanasi, Vijayawada, Visakhapatnam, Tirunelveli, Aurangabad

Data Analyst Courses in Other Locations

ECIL, Jaipur, Pune, Gurgaon, Salem, Surat, Agra, Ahmedabad, Amritsar, Anand, Anantapur, Andhra Pradesh, Anna Nagar, Aurangabad, Bhilai, Bhopal, Bhubaneswar, Borivali, Calicut, Cochin, Chengalpattu , Dehradun, Dombivli, Durgapur, Ernakulam, Erode, Gandhinagar, Ghaziabad, Gorakhpur, Guduvanchery, Gwalior, Hebbal, Hoodi , Indore, Jabalpur, Jaipur, Jalandhar, Jammu, Jamshedpur, Jodhpur, Kanpur, Khammam, Kochi, Kolhapur, Kolkata, Kothrud, Ludhiana, Madurai, Mangalore, Meerut, Mohali, Moradabad, Pimpri, Pondicherry, Porur, Rajkot, Ranchi, Rohtak, Roorkee, Rourkela, Shimla, Shimoga, Siliguri, Srinagar, Thoraipakkam , Tiruchirappalli, Tirunelveli, Trichur, Trichy, Udaipur, Vijayawada, Vizag, Warangal, Chennai, Coimbatore, Delhi, Dilsukhnagar, Hyderabad, Kalyan, Nagpur, Noida, Thane, Thiruvananthapuram, Uppal, Kompally, Bangalore, Chandigarh, Chromepet, Faridabad, Guntur, Guwahati, Kharadi, Lucknow, Mumbai, Mysore, Nashik, Navi Mumbai, Patna, Pune, Raipur, Vadodara, Varanasi, Yelahanka

Make an Enquiry
Call Us