Home > Backend Development > Python Tutorial > How to Efficiently Plot Multiple Pandas DataFrames in Matplotlib Subplots?

How to Efficiently Plot Multiple Pandas DataFrames in Matplotlib Subplots?

Linda Hamilton
Release: 2024-12-04 00:36:09
Original
837 people have browsed it

How to Efficiently Plot Multiple Pandas DataFrames in Matplotlib Subplots?

Plotting Multiple DataFrames in Subplots with Matplotlib

In data analysis using Pandas, it is common to have multiple DataFrames representing different aspects of the data. To visualize these DataFrames effectively, plotting them together in subplots can be highly beneficial.

If the DataFrames share the same value scale but have varying columns and indices, attempting to plot each DataFrame individually using df.plot() will result in separate plot images. To overcome this limitation and display the DataFrames in subplots, a different approach is needed.

Manual Subplot Creation

Matplotlib provides the ability to manually create subplots for customized visualizations. The following steps outline how to plot multiple DataFrames in subplots:

  1. Import matplotlib.pyplot as plt.
  2. Use plt.subplots(nrows, ncols) to create a grid of subplots, where nrows and ncols specify the number of rows and columns respectively. This step returns a figure object (fig) and an array of subplot axes (axes).
  3. For each DataFrame, call DataFrame.plot() and pass the specific subplot axis to the ax keyword. For example, if you want to plot the first DataFrame in the first subplot, use df1.plot(ax=axes[0,0]).
  4. To share the x-axis, you can specify sharex=True in the plt.subplots() call.

Example Code

The following code demonstrates how to plot four DataFrames (df1, df2, df3, and df4) in subplots using the manual subplot creation method:

import matplotlib.pyplot as plt

fig, axes = plt.subplots(nrows=2, ncols=2, sharex=True)

df1.plot(ax=axes[0,0])
df2.plot(ax=axes[0,1])
df3.plot(ax=axes[1,0])
df4.plot(ax=axes[1,1])

plt.show()
Copy after login

This code will create a figure with four subplots, where each DataFrame is plotted in its respective subplot. All subplots will share the same x-axis, allowing for easy comparison of the data across the different DataFrames.

The above is the detailed content of How to Efficiently Plot Multiple Pandas DataFrames in Matplotlib Subplots?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template