私は80の変数を持つデータセットを持っています。 Matplotlibで20 X 4 GridSpecの作成を自動化する関数を作成することに興味があります。各サブプロットは、データ中の80個の変数のそれぞれについて、ヒストグラムまたはバープロットを含む。最初のステップとして、私は必要なプロットのレイアウトを含む2つの関数を作成しました(私はそれらを「カウント」と「ヒストグラム」と呼んでいます)。どちらも個々の変数でテストしたときに機能します。次のステップとして、データ型がオブジェクトかどうかをテストするために条件文をループし、新しいサブプロットとしてデータ型に基づいて適切な関数を呼び出す、列名を取る関数を作成しようとしました。ここで私がこれまで持っているコードは次のとおりです。Matplotlib GridSpecをプロットする関数を作成するのに助けが必要です
たちはサブプロット仕様のために必要となる座標のリストを作成します:
A = np.arange(21)
B = np.arange(4)
coords = []
for i in A:
for j in B:
coords.append([A[i], B[j]])
#Create the gridspec and layout the figure
import matplotlib.gridspec as gridspec
fig = plt.figure(figsize=(12,6))
gs = gridspec.GridSpec(2,4)
#Function that relies on what we've done above:
def grid(cols=['MSZoning', 'LotFrontage', 'LotArea', 'Street', 'Alley']):
for i in cols:
for vals in coords:
if str(train[i].dtype) == 'object':
plt.subplot('gs'+str(vals))
counts(cols)
else:
plt.subplot('gs'+str(vals))
histogram(cols)
しようとし、このコードがエラーを返した場合:
とValueError:単一の引数にサブプロットは3桁の整数でなければなりません
視覚化を助ける目的で、私が達成したいと思っているものを、私は作成したヘルパー関数を使って行ごとにコーディングしたスクリーンショットを添付します。回避しようとしています:
誰も私が私が間違っているつもり場所を見つけ出す手助けすることはできますか?私は何かアドバイスをいただければ幸いです。ありがとうございました!