はじめに
matplotlibを使用して横軸が日付の棒グラフを作成する方法を説明します。例として、WebブラウザChromeの恐竜ゲームのスコアデータを用います。Chromeでchrome://dinoにアクセスすると、オフラインでもこのゲームを楽しむことができます。
データ
Date | Score |
2025-06-23 | 6448 |
2025-06-24 | 16365 |
2025-06-25 | 5221 |
2025-06-26 | 8915 |
2025-06-27 | 2215 |
2025-06-28 | 8476 |
2025-06-29 | 11638 |
コード

解説
モジュールのインポート
日付を目盛りのラベルとして表示し調整するには、matplotlib.datesモジュールが必要です。
データの読み込み
pd.read_html(url1, header=0)[0]でデータフレームを生成します。urlはこのページを指し、pd.read_htmlでウェブページ上のテーブルを取得できます。header=0は一番上の行をヘッダーとして指定します。read_htmlはテーブルのリストを返すため、[0]を使って最初のDataFrameを取り出しています。
データのnp.arrayへの変換
Dateの列を.valuesでnp.arrayに変換し、さらにastype(np.datetime64)を使ってdatetime64形式に変換します。
同様に、Scoreの列も.valuesを使用してnp.array形式に変換します。
棒グラフの表示
figureは図全体を表し、axはその内部の座標軸を意味します。figsize=(5,3)で横5インチ、縦3インチの図を作成します(1インチ=2.54 cm)。ax.bar(Date, Score, color=’pink’, edgecolor=”black”)で横軸にDate、縦軸にScoreを適用した棒グラフを作成します。colorパラメータで棒の色をピンクに設定し、edgecolorで棒の輪郭を黒に設定しています。
mdatesのDateFormatter()で”%m/%d”を指定すると、表示形式は “月/日” になります。時間や分を含むデータの場合は”%m/%d %H:%M”とすれば、”月/日 時:分” の形式で表示されます。

コメント