- The issue is
plt.subplots(2, 3, figsize=(24, 10))
creates two groups of 3 subplots, not one group of six subplots.
array([[<AxesSubplot:xlabel="radians">, <AxesSubplot:xlabel="radians">, <AxesSubplot:xlabel="radians">],
[<AxesSubplot:xlabel="radians">, <AxesSubplot:xlabel="radians">, <AxesSubplot:xlabel="radians">]], dtype=object)
import pandas as pd
import numpy as np
# sinusoidal sample data
sample_length = range(1, 6+1)
rads = np.arange(0, 2*np.pi, 0.01)
data = np.array([np.sin(t*rads) for t in sample_length])
df = pd.DataFrame(data.T, index=pd.Series(rads.tolist(), name="radians"), columns=[f'freq: {i}x' for i in sample_length])
# crate the figure and axes
fig, axes = plt.subplots(2, 3, figsize=(24, 10))
# unpack all the axes subplots
axe = axes.ravel()
# assign the plot to each subplot in axe
for i, c in enumerate(df.columns):
df[c].plot(ax=axe[i])