2017-01-25 9 views
0

私はサブプロットを作成しようとしています。 データフレームから多くの列を呼び出し、配列に変換してプロットします。 4行2列にプロットしたい。しかし、私は1つの列を取得する(あなたは画像を確認することができます)。私は間違って何をしていますか?ここでPythonでサブプロットを作成するには?

は私のコードです:

for column in df3: #I call the dataframe 
     data=df3[column].values #Turn it into an array 

     fig = plt.figure() 
     plt.subplot (4,2,1) #I want 4 rows and 2 columns 
     ax,_=plot_topomap(data, sensors_pos, cmap='viridis', vmin=0, vmax=100, show=False) 
     plt.title("KNN" + " " + column) #This is the title for each subplot 
     fig.colorbar(ax) 
     plt.show 

enter image description here

+0

「しかし動作しません」は十分な問題の説明ではありません。 [質問する方法](http://stackoverflow.com/help/how-to-ask)を読んで[MCVE]を提供してください。 – ImportanceOfBeingErnest

+0

人々は、plot_topomapと電極位置のファイルを使用するには、神経科学ライブラリをダウンロードする必要があります。だから私はこれを完全にする方法を知らない。 – Aizzaac

+0

[MCVE]をトップダウンまたはボトムアップで構築できます。あなたが私たちに、問題が何であるかを教えてくれないので、私はこのケースでどちらが良いか分かりません。 – ImportanceOfBeingErnest

答えて

1

あなたのコード内の問題を引き起こし、それが完全なコードを知らなくても、解決策を見つけるのは難しいかもしれないいくつかのものがあります。

コードでは、いくつかの図を作成します。しかし、あなたは本当に一つの人物がほしいと思う。だから、数字はループの外側に作成する必要があります。

次に、すべてのループステップで、どのサブプロットにプロットするかをmatplotlibに伝える必要があるので、サブプロットを作成します。これは、ax = fig.add_subplot(4,2,n)によって実行できます。ここで、nはループの実行ごとに増加する数値です。

次はplot_topomapです。しかし、どのようにplot_topomapは何をプロットするのか分かりますか?キーワード引数axes = axを指定すると、そのことを伝える必要があります。

最後に、戻しイメージを軸としてaxの引数としてカラーバーを設定しようとします。

もちろん、私は次のコードをテストすることはできませんが、すべてをうまく解釈した場合は、あなたが望むことができるかもしれません。

n = 1 
fig = plt.figure() 
for column in df3: #I call the dataframe 
    data=df3[column].values #Turn it into an array 

    ax = fig.add_subplot(4,2,n) #I want 4 rows and 2 columns 
    im,_ = plot_topomap(data, sensors_pos, cmap='viridis', vmin=0, vmax=100, show=False, axes=ax) 
    ax.set_title("KNN" + " " + column) #This is the title for each subplot 
    fig.colorbar(im, ax=ax) 
    n+=1 
関連する問題