Matplotlib Plot Title Positioning

MatplotlibMatplotlibBeginner
Practice Now

This tutorial is from open-source community. Access the source code

Introduction

In this lab, you will learn how to position the titles of plots in Matplotlib. Matplotlib can display plot titles centered, flush with the left side of a set of axes, and flush with the right side of a set of axes. This lab will show you how to use Matplotlib to position plot titles in different ways.

VM Tips

After the VM startup is done, click the top left corner to switch to the Notebook tab to access Jupyter Notebook for practice.

Sometimes, you may need to wait a few seconds for Jupyter Notebook to finish loading. The validation of operations cannot be automated because of limitations in Jupyter Notebook.

If you face issues during learning, feel free to ask Labby. Provide feedback after the session, and we will promptly resolve the problem for you.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL matplotlib(("`Matplotlib`")) -.-> matplotlib/BasicConceptsGroup(["`Basic Concepts`"]) matplotlib(("`Matplotlib`")) -.-> matplotlib/PlottingDataGroup(["`Plotting Data`"]) matplotlib(("`Matplotlib`")) -.-> matplotlib/PlotCustomizationGroup(["`Plot Customization`"]) matplotlib(("`Matplotlib`")) -.-> matplotlib/AdvancedTopicsGroup(["`Advanced Topics`"]) python(("`Python`")) -.-> python/DataStructuresGroup(["`Data Structures`"]) python(("`Python`")) -.-> python/ModulesandPackagesGroup(["`Modules and Packages`"]) python(("`Python`")) -.-> python/DataScienceandMachineLearningGroup(["`Data Science and Machine Learning`"]) python(("`Python`")) -.-> python/FunctionsGroup(["`Functions`"]) matplotlib/BasicConceptsGroup -.-> matplotlib/importing_matplotlib("`Importing Matplotlib`") matplotlib/BasicConceptsGroup -.-> matplotlib/figures_axes("`Understanding Figures and Axes`") matplotlib/PlottingDataGroup -.-> matplotlib/line_plots("`Line Plots`") matplotlib/PlotCustomizationGroup -.-> matplotlib/titles_labels("`Adding Titles and Labels`") matplotlib/AdvancedTopicsGroup -.-> matplotlib/matplotlib_config("`Customizing Matplotlib Configurations`") python/DataStructuresGroup -.-> python/lists("`Lists`") python/DataStructuresGroup -.-> python/tuples("`Tuples`") python/ModulesandPackagesGroup -.-> python/importing_modules("`Importing Modules`") python/DataScienceandMachineLearningGroup -.-> python/data_visualization("`Data Visualization`") python/FunctionsGroup -.-> python/build_in_functions("`Build-in Functions`") subgraph Lab Skills matplotlib/importing_matplotlib -.-> lab-48998{{"`Matplotlib Plot Title Positioning`"}} matplotlib/figures_axes -.-> lab-48998{{"`Matplotlib Plot Title Positioning`"}} matplotlib/line_plots -.-> lab-48998{{"`Matplotlib Plot Title Positioning`"}} matplotlib/titles_labels -.-> lab-48998{{"`Matplotlib Plot Title Positioning`"}} matplotlib/matplotlib_config -.-> lab-48998{{"`Matplotlib Plot Title Positioning`"}} python/lists -.-> lab-48998{{"`Matplotlib Plot Title Positioning`"}} python/tuples -.-> lab-48998{{"`Matplotlib Plot Title Positioning`"}} python/importing_modules -.-> lab-48998{{"`Matplotlib Plot Title Positioning`"}} python/data_visualization -.-> lab-48998{{"`Matplotlib Plot Title Positioning`"}} python/build_in_functions -.-> lab-48998{{"`Matplotlib Plot Title Positioning`"}} end

Create a Basic Plot

First, import the Matplotlib library and create a basic plot using the plot() function.

import matplotlib.pyplot as plt
plt.plot(range(10))

Center Title

Add a centered title to the plot using the title() function.

plt.title('Center Title')

Left Title

Add a title aligned to the left side of the plot using the title() function and the loc parameter.

plt.title('Left Title', loc='left')

Right Title

Add a title aligned to the right side of the plot using the title() function and the loc parameter.

plt.title('Right Title', loc='right')

Top Title

Create a plot with the title at the top using the subplots() function and the set_xlabel() function.

fig, ax = plt.subplots()
ax.plot(range(10))
ax.xaxis.set_label_position('top')
ax.set_xlabel('X-label')
ax.set_title('Top Title')

Manual Y Positioning

Manually specify the vertical position of the title by using the y parameter of the title() function.

fig, ax = plt.subplots()
ax.plot(range(10))
ax.xaxis.set_label_position('top')
ax.set_xlabel('X-label')
ax.set_title('Manual Y Positioning', y=1.0)

RCParam Y Positioning

Set the titley and titlepad parameters of the rcParams to adjust the vertical positioning of the title.

fig, ax = plt.subplots()
ax.plot(range(10))
ax.xaxis.set_label_position('top')
ax.set_xlabel('X-label')
plt.rcParams['axes.titley'] = 1.0
plt.rcParams['axes.titlepad'] = -14
ax.set_title('RCParam Y Positioning')

Summary

In this lab, you learned how to position plot titles in Matplotlib. You can center the title using the title() function, align it to the left or right using the loc parameter, or position it at the top using the set_xlabel() function. You can also manually specify the vertical position using the y parameter or adjust it using the titley and titlepad parameters of the rcParams.

Other Matplotlib Tutorials you may like