始める無料で始める

1つの図に複数のプロットを重ねる

シアトル市は、南北に走るフリーモント橋の東側と西側の両方に自転車通行量を記録するメーターを設置しています。

この演習では、for ループと matplotlib を使って、橋の東側と西側の交通量が日中どのように変化するかを調べます。朝夕の通勤時間帯にそれぞれの側がどのように使われているかを理解することは、この主要ルートに接続する将来の自転車インフラの整備にとって重要です。

for ループで現在の位置を追跡したいときに便利な Python の関数に enumerate() があります。

things = ['first thing', 'second', 'yet another']
for ii, item in enumerate(things):
    print(ii, item)
0 first thing
1 second
2 yet another

この演習はコースの一部です

MATLABユーザーのためのPython

コースを見る

演習の手順

  • 配列 weekday_traffic の形状を確認し、どの軸が橋の側(東西)と時刻(時間)に対応しているかを特定します。
  • enumerate() を使って反復回数を数えながら、weekday_traffic の列をループします。
  • 各ループで、weekday_traffic の該当列を sidewalk 内の対応する label とともにプロットします。
  • 凡例を作成し、プロットを表示します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

sidewalk = ['East','West']

# Explore the shape of the array weekday_traffic
print(weekday_traffic.____)

# Loop over the columns of weekday_traffic, counting the number of iterations
for ii, sidewalk_traffic in ____(weekday_traffic.T):
    # Plot the column with the corresponding label in sidewalk
    plt.plot(sidewalk_traffic, ____=sidewalk[ii])
    
# Create the legend and show the plot
plt.____()
____
コードを編集して実行