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

【Python】MatplotlibでCSVファイルから複数行のプロットを作成する方法

Matplotlibとpandasを組み合わせると、CSVファイルに保存された複数列のデータを簡単に読み込み、1つのグラフに複数の折れ線を重ねて描画できます。本記事では、その基本的な手順をコード例とともに解説します。

複数行プロット作成の手順

  • 図のサイズを設定し、サブプロット間およびその周囲の余白を調整します。
  • CSVファイルから取得したいデータの列名リストを作成します。ここで指定する名前は、CSVファイル内で実際に使用されている列名と完全に一致している必要があります。
  • pandasのread_csv()メソッドを使って、CSVファイルからデータを読み込みます。
  • df.plot()メソッドを呼び出して、各列のデータを折れ線としてプロットします。
  • show()メソッドを実行して、図を画面に表示します。

コード例

以下の例では、自動車の燃費データが含まれる「auto-mpg.csv」を使用し、「mpg(燃費)」「displ(排気量)」「hp(馬力)」「weight(車両重量)」の4つの列をそれぞれ別の折れ線として描画しています。

import pandas as pd
from matplotlib import pyplot as plt

# 図のサイズを設定
plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True

# 取得する列名のリストを作成
columns = ['mpg', 'displ', 'hp', 'weight']

# CSVファイルを読み込む
df = pd.read_csv("auto-mpg.csv", usecols=columns)

# 折れ線をプロット
df.plot()

plt.show()

実行結果

上記のコードを実行すると、4つの列それぞれに対応した複数行の折れ線グラフが1つの図に表示されます。各線には自動的に凡例が付けられ、どの線がどの列のデータかをひと目で確認できます。

【Python】MatplotlibでCSVファイルから複数行のプロットを作成する方法【Python】MatplotlibでCSVファイルから複数行のプロットを作成する方法

ポイントまとめ

  • usecols引数を指定することで、必要な列だけを効率的に読み込めます。
  • figure.autolayoutTrueに設定すると、ラベルや凡例が図の外にはみ出すのを自動的に防げます。
  • 列名の指定ミスがあるとValueErrorが発生するため、事前にdf.columnsで列名を確認しておくと安心です。
  1. MatplotlibでiPythonノートブックの図をファイルとして保存する方法

    iPythonノートブック上で作成した図(グラフ)を画像ファイルとして保存したい場合、Matplotlibの機能を使えば簡単に実現できます。ここでは、基本的な手順とサンプルコードを紹介します。 図をファイルに保存する手順 iPythonから図をファイルとして保存するには、以下の手順を実行します。 plt.figure() で新しい図を作成するか、既存の図をアクティブにします。 add_axes() メソッドを使って、図に axes(座標軸)を追加します。 プロットしたいデータ(リストなど)を plot() で描画します。 savefig() メソッドを使って、図をファイルとして保存します。

  2. Jupyter Notebook(Python&Matplotlib)で3Dプロットをインタラクティブに表示する方法

    この記事では、Jupyter Notebookを使って3Dプロットをインタラクティブに操作・表示するためのプログラムコードを紹介します。マウスでドラッグして視点を回転させたり、拡大縮小したりできるため、3Dデータの把握が格段にしやすくなります。手順新しい図(figure)を作成するか、既存の図をアクティブにします。subplotsメソッド(またはadd_subplotメソッド)を使ってfigとaxの変数を作成します。デフォルトのnrowsとncolsは1で、projection=3d を指定することで3D描画が可能になります。np.cos関数とnp.sin関数を使用して、x、y、zの座標データ