1

線の色を、matplotlib を使用してプロットで指定した色に変更できるようにしたいと考えています。

以下は、私が使用している関連コード (関数の一部です) です。変数avg_rel_trackは「2D 配列」で、各列は「ブレード」に対応します。各「ブレード」は個別の線をプロットします。

各ブレード/ラインを指定した色にしたいと思います。関連するドキュメントを見つけるのに苦労しています。明らかな場合は申し訳ありません。

 def plot_data(avg_rel_track, sd_rel_track_sum, shade):

    fig = plt.figure(figsize=(18,10))

    gs  = gridspec.GridSpec(5, 1, height_ratios=[1.75, 1 ,1, 1])
    ax0 = plt.subplot(gs[0])
    ax1 = plt.subplot(gs[1])
    ax2 = plt.subplot(gs[2])
    ax3 = plt.subplot(gs[3])
    ax4 = plt.subplot(gs[4])

    fig.subplots_adjust(top=0.93)

    #The following plot has 5 plots within it.
    lineObjects = ax0.plot(avg_rel_track_nan)
    ax0.set_title('Averaged Relative Track',fontsize=11)
    ax0.legend(lineObjects, (1,2,3,4,5),loc='lower center', bbox_to_anchor=(0.82, 1),
      fancybox=True, shadow=True, ncol=5)

以下はプロットの例です(非常に大まかな)プロットを指定したものに変更したいと思います。5つのサブプロットからの切り取りです

これは

4

1 に答える 1

3

問題は、plot関数がパラメーターとして 1 つの色しか受け入れないことです。したがって、列を繰り返し処理し、それぞれを個別にプロットする必要があります。

columns = [[1,2,3],[1,4,5],[6,4,2]]
colors = ['green', 'pink', 'blue']
labels = ['foo', 'bar', 'baz']

fig, ax = plt.subplots(1, 1)
for i, column in enumerate(columns):
    ax.plot(column, color=colors[i], label=labels[i])
ax.legend(loc='lower center', bbox_to_anchor=(0.82, 1),
          fancybox=True, shadow=True, ncol=3)
于 2013-09-16T09:31:15.597 に答える