Instagram
youtube
Facebook
Twitter

Apply Different Styles to Each Subplot

Description:
This code creates multiple subplots where each one uses a different Matplotlib style (like 'ggplot', 'seaborn', and 'classic').

Code Explanation:

  • We made 3 subplots for Sales, Revenue, and Units.

  • Each one uses a different visual style to make it look unique:

    • 'ggplot': clean, red grid style

    • 'seaborn-darkgrid': smooth and modern with dark grids

    • 'classic': default old-school look

  • We used plt.style.context() to apply styles only to that subplot.


Program:

import matplotlib.pyplot as plt
import pandas as pd

# Sample data
data = {
    'Date': pd.date_range(start='2024-01-01', periods=7, freq='D'),
    'Sales': [100, 120, 90, 140, 160, 130, 150],
    'Revenue': [1000, 1500, 1200, 1800, 2000, 1700, 1900],
    'Units': [10, 12, 9, 14, 16, 13, 15]
}
df = pd.DataFrame(data)

# Create figure and axes
fig, axs = plt.subplots(3, 1, figsize=(10, 9), sharex=True)

# Apply different styles to each subplot
styles = ['ggplot', 'seaborn-v0_8-darkgrid', 'classic']
titles = ['Sales - ggplot', 'Revenue - seaborn', 'Units - classic']
colors = ['blue', 'green', 'red']
y_data = ['Sales', 'Revenue', 'Units']

# Plot each with different style
for ax, style, title, y, color in zip(axs, styles, titles, y_data, colors):
    with plt.style.context(style):
        ax.plot(df['Date'], df[y], marker='o', color=color)
        ax.set_title(title)
        ax.grid(True)

# Overall formatting
plt.suptitle('Different Styles for Each Subplot', fontsize=16)
plt.xticks(rotation=45)
plt.tight_layout(rect=[0, 0, 1, 0.95])
plt.show()


Output: