[Python]CSVデータをグラフ表示(複数、重ねる)

必要なライブラリのインストール

本記事では、以下のライブラリを使用します。

  • matplotlib
  • pandas
  • numpy

これらのライブラリがインストールされていない場合は、以下のコマンドを使用してインストールしてください。

pip install matplotlib pandas numpy

CSVデータの取り込み

本記事では、以下のようなCSVデータを使用します。

Date,Value1,Value2
2021/01/01,10,20
2021/01/02,20,30
2021/01/03,30,40
2021/01/04,40,50
2021/01/05,50,60

このCSVファイルを読み込むには、pandasライブラリのread_csv関数を使用します。

import pandas as pd
df = pd.read_csv('data.csv')
print(df)

出力結果は以下のようになります。

         Date  Value1  Value2
0  2021/01/01      10      20
1  2021/01/02      20      30
2  2021/01/03      30      40
3  2021/01/04      40      50
4  2021/01/05      50      60

CSVファイルの1行目はヘッダーとして扱われ、2行目以降がデータとして扱われます。

単一のCSVデータをグラフ表示

単一のCSVデータをグラフ表示するには、matplotlibライブラリのplot関数を使用します。

import matplotlib.pyplot as plt
plt.plot(df['Date'], df['Value1'])
plt.xlabel('Date')
plt.ylabel('Value1')
plt.show()

出力結果は以下のようになります。

複数のCSVデータを個別にグラフ表示

複数のCSVデータを個別にグラフ表示するには、同じようにmatplotlibライブラリのplot関数を使用します。

plt.plot(df['Date'], df['Value1'], label='Value1')
plt.plot(df['Date'], df['Value2'], label='Value2')
plt.xlabel('Date')
plt.ylabel('Value')
plt.legend()
plt.show()

出力結果は以下のようになります。

複数のCSVデータを重ねてグラフ表示

複数のCSVデータを重ねてグラフ表示するには、同じようにmatplotlibライブラリのplot関数を使用しますが、一度に複数のデータをプロットすることができます。

plt.plot(df['Date'], df[['Value1', 'Value2']])
plt.xlabel('Date')
plt.ylabel('Value')
plt.legend(['Value1', 'Value2'])
plt.show()

出力結果は以下のようになります。

グラフ表示のカスタマイズ

グラフ表示のカスタマイズには、matplotlibライブラリの様々な機能を使用することができます。

plt.plot(df['Date'], df['Value1'], label='Value1', color='red', linestyle='--', linewidth=2)
plt.plot(df['Date'], df['Value2'], label='Value2', color='blue', linestyle=':', linewidth=2)
plt.xlabel('Date')
plt.ylabel('Value')
plt.legend()
plt.title('CSV Data')
plt.grid(True)
plt.show()

出力結果は以下のようになります。

まとめ

本記事では、PythonでCSVデータをグラフ表示する方法について解説しました。

  • 必要なライブラリをインストールする
  • CSVデータを取り込む
  • 単一のCSVデータをグラフ表示する
  • 複数のCSVデータを個別にグラフ表示する
  • 複数のCSVデータを重ねてグラフ表示する
  • グラフ表示のカスタマイズ

これらの技術を組み合わせることで、CSVデータを効果的に可視化することができます。