Tüm veri çerçevelerinin bir listesini yapmak için basit bir hile ile matplotlib kullanarak birden çok pandas veri çerçevesinin birden çok alt grafiğini çizebilirsiniz. Daha sonra alt grafikleri çizmek için for döngüsünü kullanın.
Çalışma kodu:
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
# dataframe sample data
df1 = pd.DataFrame(np.random.rand(10,2)*100, columns=['A', 'B'])
df2 = pd.DataFrame(np.random.rand(10,2)*100, columns=['A', 'B'])
df3 = pd.DataFrame(np.random.rand(10,2)*100, columns=['A', 'B'])
df4 = pd.DataFrame(np.random.rand(10,2)*100, columns=['A', 'B'])
df5 = pd.DataFrame(np.random.rand(10,2)*100, columns=['A', 'B'])
df6 = pd.DataFrame(np.random.rand(10,2)*100, columns=['A', 'B'])
#define number of rows and columns for subplots
nrow=3
ncol=2
# make a list of all dataframes
df_list = [df1 ,df2, df3, df4, df5, df6]
fig, axes = plt.subplots(nrow, ncol)
# plot counter
count=0
for r in range(nrow):
for c in range(ncol):
df_list[count].plot(ax=axes[r,c])
count=+1
Bu kodu kullanarak, herhangi bir konfigürasyonda alt grafikleri çizebilirsiniz. Yalnızca satır nrow
sayısını ve sütun sayısını tanımlamanız gerekir ncol
. Ayrıca, df_list
çizmek istediğiniz veri çerçevelerinin bir listesini yapmanız gerekir .
.subplots()
oluşturduğunuz alt noktalar dizisinin boyutlarına bağlı olarak farklı koordinat sistemleri döndürdüğünü unutmayın . Dolayısıyla, diyelim ki,nrows=2, ncols=1
eksenleriaxes[0]
ve olarak indekslemeniz gereken alt grafikleri döndürürsenizaxes[1]
. Bkz stackoverflow.com/a/21967899/1569221