12

matplotlib でサブプロットの 1 つのサイズを変更しようとすると問題が発生します。基本的に私は 4 つのプロットを持っており、他のプロットの約 1.5 のサイズにしたいと考えています。

一番上のサブプロットに凡例を付けようとしても問題があります。各色を1、2、3、4、5のいずれかで指定してほしいです(画像参照)。

これはプロット関数の私のコードです

def plot_data(avg_rel_track, sd_rel_track_sum, sd_index, sd_grad):

    fig, (ax0, ax1, ax2, ax3) = plt.subplots(nrows=4, figsize=(15,10))
    fig.subplots_adjust(top=0.85)
    ax0.plot(avg_rel_track_nan)
    if len(sd_index)!=0:
        if len(sd_index)>1:
            for i in range(1, len(sd_index)):
                if sd_grad[i]==1:
                    ax0.axvspan(sd_index[i-1],sd_index[i], edgecolor='#FFCC66', facecolor='#FFCC66', alpha=1)
    #The following plot has 5 plots within it.
    ax0.set_title('Averaged Relative Track',fontsize=11)
    ax0.set_ylim(auto=True)

    ax1.plot(sd_rel_track_sum)
    ax1.set_title('RT Standard Deviation',fontsize=11)
    ax1.set_ylim([0,250])

    ax2.plot(splitpre)
    ax2.set_title('Track Split',fontsize=11)

    ax3.plot(ts_sd)
    ax3.set_title('Track Split Standard Dev',fontsize=11)
    ax3.set_ylim([0,100])

    fig.tight_layout()
    plt.show()

関数の記述方法全体を変更せずにサイズを変更する方法を見つけるのに苦労しています。「サブプロット」のドキュメントが見つからないようです。

また、私の理解では、凡例を作成するには、プロットに「ラベル」を追加する必要があります。ただし、一番上のサブプロットまでのすべてのデータが同時にプロットされますか?

プロット

4

1 に答える 1