Matplotlib Basics: Creating Line Plots

PythonPythonBeginner
Practice Now

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

Introduction

Matplotlib is a popular data visualization library in Python. It provides an easy-to-use interface for creating a wide range of visualizations, from simple line plots to complex heatmaps. In this lab, we will go through the basics of Matplotlib and create a simple line plot using the "fivethirtyeight" style sheet.

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`"]) python(("`Python`")) -.-> python/DataStructuresGroup(["`Data Structures`"]) python(("`Python`")) -.-> python/ModulesandPackagesGroup(["`Modules and Packages`"]) python(("`Python`")) -.-> python/PythonStandardLibraryGroup(["`Python Standard Library`"]) python(("`Python`")) -.-> python/DataScienceandMachineLearningGroup(["`Data Science and Machine Learning`"]) matplotlib/BasicConceptsGroup -.-> matplotlib/importing_matplotlib("`Importing Matplotlib`") matplotlib/BasicConceptsGroup -.-> matplotlib/figures_axes("`Understanding Figures and Axes`") matplotlib/PlottingDataGroup -.-> matplotlib/line_plots("`Line Plots`") python/DataStructuresGroup -.-> python/tuples("`Tuples`") python/ModulesandPackagesGroup -.-> python/importing_modules("`Importing Modules`") python/ModulesandPackagesGroup -.-> python/standard_libraries("`Common Standard Libraries`") python/PythonStandardLibraryGroup -.-> python/math_random("`Math and Random`") python/DataScienceandMachineLearningGroup -.-> python/numerical_computing("`Numerical Computing`") python/DataScienceandMachineLearningGroup -.-> python/data_visualization("`Data Visualization`") subgraph Lab Skills matplotlib/importing_matplotlib -.-> lab-48741{{"`Matplotlib Basics: Creating Line Plots`"}} matplotlib/figures_axes -.-> lab-48741{{"`Matplotlib Basics: Creating Line Plots`"}} matplotlib/line_plots -.-> lab-48741{{"`Matplotlib Basics: Creating Line Plots`"}} python/tuples -.-> lab-48741{{"`Matplotlib Basics: Creating Line Plots`"}} python/importing_modules -.-> lab-48741{{"`Matplotlib Basics: Creating Line Plots`"}} python/standard_libraries -.-> lab-48741{{"`Matplotlib Basics: Creating Line Plots`"}} python/math_random -.-> lab-48741{{"`Matplotlib Basics: Creating Line Plots`"}} python/numerical_computing -.-> lab-48741{{"`Matplotlib Basics: Creating Line Plots`"}} python/data_visualization -.-> lab-48741{{"`Matplotlib Basics: Creating Line Plots`"}} end

Import Matplotlib and NumPy Libraries

The first step is to import the Matplotlib and NumPy libraries. NumPy is a fundamental package for scientific computing in Python that provides powerful arrays and linear algebra functions.

import matplotlib.pyplot as plt
import numpy as np

Set the Style to "fivethirtyeight"

The "fivethirtyeight" style sheet replicates the styles from the popular data-driven news website FiveThirtyEight.com. We will use this style sheet for our visualization.

plt.style.use('fivethirtyeight')

Create Data for the Line Plot

In this step, we will create data for our line plot. We will use NumPy's linspace function to create an array of evenly spaced values between 0 and 10. We will also generate some random noise using NumPy's random.randn function.

x = np.linspace(0, 10)
np.random.seed(19680801)
noise = np.random.randn(50)

Create a Figure and Axes Objects

Next, we will create a figure and axes object using Matplotlib's subplots function. The figure object represents the entire figure and the axes object represents a single plot within the figure.

fig, ax = plt.subplots()

Plot the Data

In this step, we will plot the data on the axes object using Matplotlib's plot function. We will plot six different lines with different slopes and random noise.

ax.plot(x, np.sin(x) + x + noise)
ax.plot(x, np.sin(x) + 0.5 * x + noise)
ax.plot(x, np.sin(x) + 2 * x + noise)
ax.plot(x, np.sin(x) - 0.5 * x + noise)
ax.plot(x, np.sin(x) - 2 * x + noise)
ax.plot(x, np.sin(x) + noise)

Set the Title and Labels

In this step, we will set the title and labels for the plot using the axes object's set_title, set_xlabel, and set_ylabel methods.

ax.set_title("'fivethirtyeight' style sheet")
ax.set_xlabel("x")
ax.set_ylabel("y")

Show the Plot

Finally, we will display the plot using Matplotlib's show function.

plt.show()

Summary

In this lab, we learned how to create a simple line plot using the "fivethirtyeight" style sheet in Matplotlib. We covered the basics of creating a figure and axes object, plotting data, and setting the title and labels for the plot. With these skills, you can create a wide range of visualizations using Matplotlib.

Other Python Tutorials you may like