Matplotlib 基本折れ線グラフ

MatplotlibBeginner
オンラインで実践に進む

はじめに

Matplotlib は、Python で静的、アニメーション、インタラクティブな可視化を作成するための包括的なライブラリです。これは最も人気のあるデータ可視化ライブラリの 1 つであり、Python を使用するデータサイエンティストやアナリストにとって不可欠です。

線グラフは、最も基本的で広く使用されているグラフの種類の 1 つです。これは、'マーカー' と呼ばれる一連のデータポイントを直線セグメントで接続して情報を表示します。時間の経過に伴うデータの傾向を可視化するためによく使用されます – 時系列 – そのため、線はしばしば時系列順に描画されます。

この実験 (Lab) では、単純な線グラフをゼロから作成する方法を学びます。データの準備、プロット、軸への説明ラベルの追加、そして最後に、LabEx 環境で直接表示できる画像ファイルとしてグラフを保存するまでの全プロセスをカバーします。

これは Guided Lab です。学習と実践を支援するためのステップバイステップの指示を提供します。各ステップを完了し、実践的な経験を積むために、指示に注意深く従ってください。過去のデータによると、この 初級 レベルの実験の完了率は 84%です。学習者から 100% の好評価を得ています。

x および y のデータリストを準備する

このステップでは、グラフ用のデータを準備します。何かを可視化する前に、データが必要です。単純な 2D 線グラフの場合、2 つのデータセットが必要です。1 つは x 軸(水平軸)用、もう 1 つは y 軸(垂直軸)用です。

データを格納するために Python のリストを使用します。数年間の人口増加を表す簡単なデータセットを作成しましょう。

まず、左側のファイルエクスプローラーから ~/project ディレクトリにある main.py ファイルを開きます。このファイルには、必要なインポート文が既に含まれています。

次に、main.py に以下のコードを追加して、xy の 2 つのリストを作成します。

import matplotlib.pyplot as plt

## Data for plotting
x = [2018, 2019, 2020, 2021, 2022]
y = [10, 12, 15, 18, 22]

ここで、x は年を表し、y は各対応年の人口(百万単位)を表します。これらの 2 つのリストが、線グラフの座標として機能します。

plt.plot(x, y) を使用して線グラフをプロットする

このステップでは、準備したデータを使用して実際のグラフを作成します。以前に plt としてインポートした Matplotlib の pyplot モジュールには、このタスクに最適な plot() という関数があります。

plt.plot() 関数は、主に 2 つの引数を取ります。x 軸のデータと y 軸のデータです。これにより、これらの座標で定義された点を結ぶ線が描画されます。

前のステップで作成したデータリストの直後に、main.py スクリプトに次の行を追加してください。

import matplotlib.pyplot as plt

## Data for plotting
x = [2018, 2019, 2020, 2021, 2022]
y = [10, 12, 15, 18, 22]

## Create the plot
plt.plot(x, y)

この 1 行のコードで、Matplotlib は xy のリストを座標として使用して線グラフを作成するように指示されます。ただし、現時点でスクリプトを実行しても何も表示されません。まだラベルを追加し、明示的にグラフをファイルに保存する必要があります。

plt.xlabel() で x 軸ラベルを追加する

このステップでは、x 軸にラベルを追加します。ラベルのないグラフは、視聴者が軸が何を表しているのかわからないため、しばしば無意味になります。これは、明確で情報量の多い可視化を作成する上で重要な部分です。

Matplotlib には、x 軸にラベルを追加するための plt.xlabel() 関数が用意されています。この関数に、目的のラベルを文字列として渡すだけです。

グラフに「Year」のラベルを追加しましょう。plt.plot() の呼び出しの後に、main.py スクリプトに次の行を追加してください。

import matplotlib.pyplot as plt

## Data for plotting
x = [2018, 2019, 2020, 2021, 2022]
y = [10, 12, 15, 18, 22]

## Create the plot
plt.plot(x, y)

## Add x-axis label
plt.xlabel("Year")

これで、グラフの水平軸は「Year」として明確にマークされます。

plt.ylabel() で y 軸ラベルを追加する

このステップでは、y 軸にラベルを追加し、グラフの基本的なラベリングを完了します。x 軸と同様に、y 軸にも説明的なラベルが必要であり、これにより視聴者はデータを理解できます。

このための関数は plt.ylabel() であり、plt.xlabel() とまったく同じように機能します。ラベルテキストを文字列として渡します。

グラフに「Population」のラベルを追加しましょう。plt.xlabel() の呼び出しの直後に、main.py スクリプトに次の行を追加してください。

import matplotlib.pyplot as plt

## Data for plotting
x = [2018, 2019, 2020, 2021, 2022]
y = [10, 12, 15, 18, 22]

## Create the plot
plt.plot(x, y)

## Add x-axis label
plt.xlabel("Year")

## Add y-axis label
plt.ylabel("Population (in millions)")

両方の軸にラベルが付いたことで、グラフはより理解しやすくなりました。

plt.show() でプロットを表示する

この最終ステップでは、プロットを生成して表示します。通常のデスクトップ環境では、plt.show() を使用して新しいウィンドウにプロットを表示することがあります。しかし、LabEx のような Web ベースの環境では、GUI ウィンドウを開くことはできません。

代わりに、plt.savefig() 関数を使用してプロットを画像ファイルに保存します。この関数は、現在の図をプロジェクトディレクトリ内のファイルに保存します。

main.py スクリプトの末尾に次の行を追加してください。これにより、プロットは line_plot.png という名前の PNG 画像として保存されます。

import matplotlib.pyplot as plt

## Data for plotting
x = [2018, 2019, 2020, 2021, 2022]
y = [10, 12, 15, 18, 22]

## Create the plot
plt.plot(x, y)

## Add x-axis label
plt.xlabel("Year")

## Add y-axis label
plt.ylabel("Population (in millions)")

## Save the plot to a file
plt.savefig("line_plot.png")

次に、WebIDE でターミナルを開きます(ターミナルパネルの + アイコンまたはメニュー Terminal > New Terminal を使用できます)。次のコマンドでスクリプトを実行します。

python3 main.py

コマンドが完了した後、左側のファイルエクスプローラーに line_plot.png という新しいファイルが表示されます。line_plot.png をダブルクリックして開くと、完成した折れ線グラフが表示されます!

Line plot

まとめ

おめでとうございます!Matplotlib を使用して最初の折れ線グラフを作成し、保存することに成功しました。

この実験では、基本的なグラフを作成するための基本的なワークフローを学びました。

  1. データの準備: x 軸と y 軸のデータを保持するために Python のリストを作成しました。
  2. データのプロット: plt.plot() を使用して、データから折れ線グラフを生成しました。
  3. ラベルの追加: plt.xlabel()plt.ylabel() を使用してラベルを追加し、グラフを分かりやすくしました。
  4. グラフの保存: plt.savefig() を使用して、ビジュアライゼーションをファイルに保存する方法を学びました。これは GUI がない環境では不可欠です。

これは Matplotlib でできることのほんの始まりにすぎません。これらのスキルを基盤として、より複雑でカスタマイズされたビジュアライゼーションを作成できます。探求を続けてください!