Movatterモバイル変換


[0]ホーム

URL:


Open In App
Next Article:
Line plot styles in Matplotlib
Next article icon

Here, we'll delve into the fundamentals of Matplotlib, exploring its various classes and functionalities to help you unleash the full potential of your data visualization projects. From basic plotting techniques to advanced customization options, this guide will equip you with the knowledge needed to create stunning visualizations with Matplotlib. So, let's dive in and discover how to effectively utilize Matplotlib for your data visualization needs.

Getting Started with Matplotlib

Matplotlibis easy to use and an amazing visualizing library in Python. It is built on NumPy arrays and designed to work with the broader SciPy stack and consists of several plots like line, bar, scatter, histogram, etc. Before we start learning about Matplotlib we first have to set up the environment and will also see how to use Matplotlib with Jupyter Notebook

Exploring Different Plot Styles with Matplotlib

Matplotlib's versatile styling capabilities empower you to craft visualizations that captivate and inform your audience. Join us as we embark on a journey to unlock the full potential of Matplotlib's plot styles and elevate your data visualization endeavors to new heights.

1. Matplotlib Figure Class

Figure class is the top-level container that contains one or more axes. It is the overall window or page on which everything is drawn.

Syntax:

class matplotlib.figure.Figure(                      figsize=None,                       dpi=None,                       facecolor=None,                       edgecolor=None,                       linewidth=0.0,                       frameon=None,                       subplotpars=None,                       tight_layout=None,                       constrained_layout=None)

Example 1:Creating Single Plot

Python3
# Python program to show pyplot moduleimportmatplotlib.pyplotaspltfrommatplotlib.figureimportFigure# Creating a new figure with width = 5 inches# and height = 4 inchesfig=plt.figure(figsize=(5,4))# Creating a new axes for the figureax=fig.add_axes([1,1,1,1])# Adding the data to be plottedax.plot([2,3,4,5,5,6,6],[5,7,1,3,4,6,8])plt.show()

Output

Example 2:Creating multiple plots

Python3
# Python program to show pyplot moduleimportmatplotlib.pyplotaspltfrommatplotlib.figureimportFigure# Creating a new figure with width = 5 inches# and height = 4 inchesfig=plt.figure(figsize=(5,4))# Creating first axes for the figureax1=fig.add_axes([1,1,1,1])# Creating second axes for the figureax2=fig.add_axes([1,0.5,0.5,0.5])# Adding the data to be plottedax1.plot([2,3,4,5,5,6,6],[5,7,1,3,4,6,8])ax2.plot([1,2,3,4,5],[2,3,4,5,6])plt.show()

Output

Refer to the below articles to get detailed information about the Figure class and functions associated with it.

2. Python Pyplot Class

Pyplot is a Matplotlib module that provides a MATLAB-like interface. Pyplot provides functions that interact with the figure i.e. creates a figure, decorates the plot with labels, and creates a plotting area in a figure.

Syntax: matplotlib.pyplot.plot(*args, scalex=True, scaley=True, data=None, **kwargs)

Example

Python3
# Python program to show pyplot moduleimportmatplotlib.pyplotaspltplt.plot([1,2,3,4],[1,4,9,16])plt.axis([0,6,0,20])plt.show()

Output

Matplotlib take care of the creation of inbuilt defaults likeFigure and Axes.Don't worry about these terms we will study them in detail in the below section but let's take a brief about these terms.

3. Matplotlib Axes Class

Axes class is the most basic and flexible unit for creating sub-plots. A given figure may contain many axes, but a given axes can only be present in one figure. The axes() function creates the axes object. Let's see the below example.

Syntax: matplotlib.pyplot.axis(*args, emit=True, **kwargs)

Example 1:Creating Only Axes

Python3
# Python program to show pyplot moduleimportmatplotlib.pyplotaspltfrommatplotlib.figureimportFigure# Creating the axes object with argument as# [left, bottom, width, height]ax=plt.axes([1,1,1,1])

Output

Example 2: Craeting Axes with line Chart

Python3
# Python program to show pyplot moduleimportmatplotlib.pyplotaspltfrommatplotlib.figureimportFigurefig=plt.figure(figsize=(5,4))# Adding the axes to the figureax=fig.add_axes([1,1,1,1])# plotting 1st dataset to the figureax1=ax.plot([1,2,3,4],[1,2,3,4])# plotting 2nd dataset to the figureax2=ax.plot([1,2,3,4],[2,3,4,5])plt.show()

Output

Refer to the below articles to get detailed information about the axes class and functions associated with it.

>>> More Functions on Axes Class

4. Set Colors in Matplotlib

Color plays a vital role in data visualization, conveying information, highlighting patterns, and making plots visually appealing. Matplotlib, a powerful plotting library in Python, offers extensive options for customizing colors in plots.

Example 1: Using Color attribute in Matplotlib

Python3
importmatplotlib.pyplotasplt# Define the Colorcolor='green'plt.plot([1,2,3,4],color=color)plt.show()

Output

Example 2: Use of marker in Matplotlib

Python3
importmatplotlib.pyplotaspltx=[1,2,3,4]y=[1,4,9,16]plt.plot(x,y,marker='o',markerfacecolor='r')plt.show()

Output

Refere

5. Add Text, Font and Grid lines in Matplotlib

Adding text annotations and grid lines in Matplotlib enhances the readability and clarity of plots. Here's how you can incorporate text annotations and grid lines into your Matplotlib plots.

Example: Creating Grid Lines with Chart Title in Matplotlib

Python3
# Importing the libraryimportmatplotlib.pyplotasplt# Define X and Y data pointsX=[12,34,23,45,67,89]Y=[1,3,67,78,7,5]# Plot the graph using matplotlibplt.plot(X,Y)# Add gridlines to the plotplt.grid(color='green',linestyle='--',linewidth=0.5)# `plt.grid()` also works# displaying the titleplt.title(label='Number of Users of a particular Language',fontweight=10,pad='2.0')# Function to view the plotplt.show()

Output

download-(1)

Refere

6. Custom Legends with Matplotlib

A legend is an area describing the elements of the graph. In simple terms, it reflects the data displayed in the graph's Y-axis. It generally appears as the box containing a small sample of each color on the graph and a small description of what this data means.

A Legend can be created using thelegend() method. The attributeLoc in the legend() is used to specify the location of the legend. The default value of loc is loc=”best” (upper left). The strings ‘upper left’, ‘upper right’, ‘lower left’, ‘lower right’ place the legend at the corresponding corner of the axes/figure.

Syntax:matplotlib.pyplot.legend([“blue”, “green”], bbox_to_anchor=(0.75, 1.15), ncol=2)

Example:The attributebbox_to_anchor=(x, y) of legend() function is used to specify the coordinates of the legend, and the attribute ncol represents the number of columns that the legend has. Its default value is 1.

Python3
importmatplotlib.pyplotasplt# data to display on plotsx=[3,1,3]y=[3,2,1]plt.plot(x,y)plt.plot(y,x)# Adding the legendsplt.legend(["blue","orange"])plt.show()

Output

Refer to the below articles to get detailed information about the legend – 

7. Matplotlib Ticks and Tick Labels

You might have seen that Matplotlib automatically sets the values and the markers(points) of the x and y axis, however, it is possible to set the limit and markers manually.set_xlim() andset_ylim() functions are used to set the limits of the x-axis and y-axis respectively. Similarly,set_xticklabels() andset_yticklabels() functions are used to set tick labels.

Python3
# Python program to show pyplot moduleimportmatplotlib.pyplotaspltfrommatplotlib.figureimportFigurex=[3,1,3]y=[3,2,1]# Creating a new figure with width = 5 inches# and height = 4 inchesfig=plt.figure(figsize=(5,4))# Creating first axes for the figureax=fig.add_axes([0.1,0.1,0.8,0.8])# Adding the data to be plottedax.plot(x,y)ax.set_xlim(1,2)ax.set_xticklabels(("one","two","three","four","five","six"))plt.show()

Output

Refer to the below articles to get detailed information about the legend:

8. Style Plots using Matplotlib

Matplotlib styles allow you to change the overall appearance of your plots, including colors, fonts, gridlines, and more. By applying different styles, you can tailor your visualizations to match your preferences or the requirements of your audience. Matplotlib provides a variety of built-in styles to choose from, each offering a unique look and feel.

Python3
# importing all the necessary packagesimportnumpyasnpimportmatplotlib.pyplotasplt# importing the style packagefrommatplotlibimportstyle# creating an array of data for plotdata=np.random.randn(50)# using the style for the plotplt.style.use('Solarize_Light2')# creating a plotplt.plot(data)# show plotplt.show()

Output

download-(2)

9. Create Multiple Subplots in Matplotlib

Till now you must have got a basic idea about Matplotlib and plotting some simple plots, now what if you want to plot multiple plots in the same figure. This can be done using multiple ways. One way was discussed above using theadd_axes() method of the figure class. Let's see various ways multiple plots can be added with the help of examples.

Method 1: Using theadd_axes() method 

The add_axes() method figure module of matplotlib library is used to add an axes to the figure.

Syntax: add_axes(self, *args, **kwargs)

Python3
# Python program to show pyplot moduleimportmatplotlib.pyplotaspltfrommatplotlib.figureimportFigure# Creating a new figure with width = 5 inches# and height = 4 inchesfig=plt.figure(figsize=(5,4))# Creating first axes for the figureax1=fig.add_axes([0.1,0.1,0.8,0.8])# Creating second axes for the figureax2=fig.add_axes([0.5,0.5,0.3,0.3])# Adding the data to be plottedax1.plot([5,4,3,2,1],[2,3,4,5,6])ax2.plot([1,2,3,4,5],[2,3,4,5,6])plt.show()

Output

The add_axes() method adds the plot in the same figure by creating another axes object.

Method 2:Usingsubplot() method

This method adds another plot to the current figure at the specified grid position.

Syntax: subplot(nrows, ncols, index, **kwargs)

subplot(pos, **kwargs) 

subplot(ax)

Python3
importmatplotlib.pyplotasplt# data to display on plotsx=[3,1,3]y=[3,2,1]z=[1,3,1]# Creating figure objectplt.figure()# adding first subplotplt.subplot(121)plt.plot(x,y)# adding second subplotplt.subplot(122)plt.plot(z,y)

Output

Note:Subplot() function have the following disadvantages - 

  • It does not allow adding multiple subplots at the same time.
  • It deletes the preexisting plot of the figure.

Method 3: Usingsubplots() method

This function is used to create figure and multiple subplots at the same time.

Syntax matplotlib.pyplot.subplots(nrows=1, ncols=1, sharex=False, sharey=False, squeeze=True, subplot_kw=None, gridspec_kw=None, **fig_kw)

Python3
importmatplotlib.pyplotasplt# Creating the figure and subplots# according the argument passedfig,axes=plt.subplots(1,2)# plotting the data in the 1st subplotaxes[0].plot([1,2,3,4],[1,2,3,4])# plotting the data in the 1st subplot onlyaxes[0].plot([1,2,3,4],[4,3,2,1])# plotting the data in the 2nd subplot onlyaxes[1].plot([1,2,3,4],[1,1,1,1])

Output

Method 4: Usingsubplot2grid() Method

This function give additional flexibility in creating axes object at a specified location inside a grid. It also helps in spanning the axes object across multiple rows or columns. In simpler words, this function is used to create multiple charts within the same figure.

Syntax: plt.subplot2grid(shape, location, rowspan, colspan)

Python3
importmatplotlib.pyplotasplt# data to display on plotsx=[3,1,3]y=[3,2,1]z=[1,3,1]# adding the subplotsaxes1=plt.subplot2grid((7,1),(0,0),rowspan=2,colspan=1)axes2=plt.subplot2grid((7,1),(2,0),rowspan=2,colspan=1)axes3=plt.subplot2grid((7,1),(4,0),rowspan=2,colspan=1)# plotting the dataaxes1.plot(x,y)axes2.plot(x,z)axes3.plot(z,y)

Output:

10. Working With Images In Matplotlib

The image module in matplotlib library is used for working with images in Python. The image module also includes two useful methods which areimread which is used to read images andimshow which is used to display the image.

Python3
# importing required librariesimportmatplotlib.pyplotaspltimportmatplotlib.imageasimg# reading the imagetestImage=img.imread('g4g.png')# displaying the imageplt.imshow(testImage)

Output:

Refer to the below articles to get detailed information while working with Images:


Improve
Practice Tags :

Similar Reads

We use cookies to ensure you have the best browsing experience on our website. By using our site, you acknowledge that you have read and understood ourCookie Policy &Privacy Policy
Lightbox
Improvement
Suggest Changes
Help us improve. Share your suggestions to enhance the article. Contribute your expertise and make a difference in the GeeksforGeeks portal.
geeksforgeeks-suggest-icon
Create Improvement
Enhance the article with your expertise. Contribute to the GeeksforGeeks community and help create better learning resources for all.
geeksforgeeks-improvement-icon
Suggest Changes
min 4 words, max Words Limit:1000

Thank You!

Your suggestions are valuable to us.

What kind of Experience do you want to share?

Interview Experiences
Admission Experiences
Career Journeys
Work Experiences
Campus Experiences
Competitive Exam Experiences

[8]ページ先頭

©2009-2025 Movatter.jp