Menu
CoddyTech

棒グラフ

CoddyのMachine Learningジャーニー「データとプロット」セクションの一部。レッスン 26/60。

この章では、データを要約します。章の終わりまでに、次のような2つのグラフを使ったレポートを作成します。

横に並んだ2つのグラフ:曜日ごとの平均降雨量を示す棒グラフ(木曜日が最も多い)と、ほとんどの日の降雨量がごくわずかであることを示す日降雨量のヒストグラム

棒グラフから始めましょう。フレーバーに順序はないため、1つから次への線には何の意味もありません。ax.bar(categories, values)はカテゴリごとに1本の棒を描画します。

flavors = ["Chocolate", "Vanilla", "Mint", "Mango"]
sold = [42, 27, 15, 21]
fig, ax = plt.subplots()
ax.bar(flavors, sold)
ax.set_title("Scoops Sold")
ax.set_ylabel("Scoops")
plt.show()

「販売されたアイスクリームのスクープ数」というタイトルの棒グラフ。棒は4本で、チョコレート42、バニラ27、ミント15、マンゴー21を示す

棒グラフは0から始まるため、高さを直接比較できます。チョコレートの42はマンゴーの21の2倍です。モデルを学習させる前に、各回答がどれくらいの頻度で現れるかを示す棒グラフを見ると、どれか一つが突出しているかどうかがわかります。

challenge icon

チャレンジ

中級

48人の生徒が、どのように通学しているかを回答しました。countsには、コードごとの回答数が格納されています:1は徒歩、2は自転車、3はバス、4は車です。学校同士を比較するため、割合をグラフにしましょう:

  1. カウントをパーセントに変換し、小数第1位に丸めます(48人中12人は25.0です)。
  2. 棒グラフで表します:Walk、Bike、Bus、Car。
  3. 縦軸にStudents (%)とラベルを付けます。

小規模な学校のデータを使った場合、次のようなグラフになります:

「Getting to School」というタイトルの棒グラフ。徒歩26.7、自転車13.3、バス40、車20(いずれもパーセント)の4本の棒

プログラムは何も出力しません。Coddyが出力欄で棒グラフの内容を説明します。

自分で試してみよう

import numpy as np
import matplotlib.pyplot as plt

# 1 = 徒歩、2 = 自転車、3 = バス、4 = 車
answers = np.array([1, 3, 1, 4, 3, 3, 4, 3, 4, 4, 3, 4, 4, 4, 3, 3,
                    2, 2, 2, 1, 1, 3, 1, 1, 1, 2, 3, 3, 1, 3, 2, 1,
                    3, 4, 3, 3, 1, 1, 1, 2, 3, 1, 3, 4, 4, 3, 2, 4])


# 配列を返す:1 から 4 までの各コードに等しい値の個数
def count_codes(values):
    counts = []
    for code in range(1, 5):
        counts.append((values == code).sum())
    return np.array(counts)


counts = count_codes(answers)
fig, ax = plt.subplots()
ax.set_title("Getting to School")

# 以下にコードを書いてください

# 下の行は変更しないでください
plt.show()
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

データとプロットのすべてのレッスン

自分で練習してみよう: Pythonオンラインコンパイラ