Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pandasで時系列プロットのX軸に主目盛り・副目盛りとラベルを設定する方法

Pandasを使えば、日時と速度のデータを含むデータフレームを簡単に作成でき、そのデータフレームをもとに目的の時系列プロットを描画できます。この記事では、乱数生成からプロット表示までの一連の手順を解説します。

実行手順

  • デフォルトのBitGenerator(PCG64)を使用して、新しいGeneratorオブジェクトを作成します。

  • Pandasのdate_range関数を使い、「2020-01-01」から「2021-01-01」までの日次頻度(freq='D')のDatetimeIndexを生成します。

  • 対数正規分布(log-normal distribution)からサンプル値を抽出します。

  • 生成したデータをもとにデータフレームを作成します。インデックスには日付を設定します。

  • Pandasデータフレームのplotメソッドを使用し、figsize=(10, 5)を指定してグラフを描画します。

  • 最後にplt.show()メソッドを呼び出して、図を画面に表示します。

サンプルコード

import numpy as np
import pandas as pd
from matplotlib import pyplot as plt

rng = np.random.default_rng(seed=1)
date_day = pd.date_range(start='2020-01-01', end='2021-01-01', freq='D')
traffic = rng.lognormal(sigma=2, size=date_day.size)
df_day = pd.DataFrame(dict(speed=[pow(2, -i) for i in range(len(date_day))]),
index=date_day)

df_day.plot(figsize=(10, 5))

plt.show()

コードのポイント

  • np.random.default_rng(seed=1)により、再現性のある乱数生成器を作成しています。

  • pd.date_rangeは開始日と終了日、および頻度を指定することで、一定間隔の日付インデックスを自動的に生成します。

  • データフレームのインデックスがDatetimeIndexになっているため、X軸には自動的に日付ラベルが表示されます。

  • X軸の主目盛り・副目盛りやラベル形式を細かく調整したい場合は、matplotlibのmdates.DateFormatterAutoDateLocatorなどを併用すると便利です。

出力結果

Pandasで時系列プロットのX軸に主目盛り・副目盛りとラベルを設定する方法

  1. PandasとMatplotlibで複数の線グラフを描画する方法

    PandasとMatplotlibを組み合わせると、DataFrameのデータをもとに複数の線グラフを簡単に描画できます。この記事では、3つの異なる数式(y=x^3、y=x^2、y=mx)のデータを1つのグラフに重ねて表示する手順を解説します。実装の手順図(figure)のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。PandasのDataFrameクラスを使って、「equation」「x」「y」の3列からなる2次元の表形式データを作成します。pivot()メソッドを使い、xをインデックス、equationを列、yを値としてデータを再形成します。これにより、各数式ご

  2. Python(Matplotlib)で散布図を作成し、データ点ごとに色を設定する方法

    Pythonの可視化ライブラリ「Matplotlib」では、scatter()メソッドを使うことで簡単に散布図を作成できます。さらに、c引数に値のリストを渡すことで、データ点ごとに異なる色(カラーマッピング)を割り当てることも可能です。 手順 np.random.rand()メソッドを使用して、指定した形状のランダムな値(x座標・y座標)を生成します。 scatter()メソッドを使い、x軸とy軸の値から散布図を作成します。このとき、c引数に0〜999までの連続した数値を指定することで、各データ点に異なる色が自動的に割り当てられます。色はデフォルトのカラーマップ(viridis)に基づいてグ