コラム

Pythonグラフ描画の頼れる相棒:Matplotlib入門

Pythonでデータを可視化したいと思ったことはありませんか?そんな時に強力な味方となるのが、グラフ描画ライブラリMatplotlibです。今回は、Matplotlibの基本的な使い方から、ちょっと便利な機能まで、初心者の方にも分かりやすく解説していきます。

Matplotlibとは?

Matplotlibは、Pythonでグラフを描画するための最もポピュラーなライブラリの一つです。折れ線グラフ、散布図、棒グラフ、ヒストグラムなど、様々な種類のグラフを作成できます。また、グラフのスタイルやレイアウトを細かく調整できるため、研究論文からビジネスレポートまで、幅広い用途で活用されています。

Matplotlibを始める準備

まずは、Matplotlibをインストールしましょう。まだインストールしていない場合は、以下のコマンドをターミナルやコマンドプロンプトで実行してください。

pip install matplotlib

インストールが完了したら、PythonスクリプトでMatplotlibをインポートします。

import matplotlib.pyplot as plt

plt は慣例的に使用される別名で、pyplot モジュールを短い名前で参照できるようにするためのものです。

簡単なグラフを描いてみよう

最も基本的な折れ線グラフを描いてみましょう。例えば、ある日の気温変化をグラフにしたいとします。

import matplotlib.pyplot as plt

# データ
time = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]  # 時間(0時から10時)
temperature = [15, 16, 17, 18, 20, 22, 23, 23, 22, 21, 20]  # 気温

# グラフを描画
plt.plot(time, temperature)

# グラフにタイトルと軸ラベルを追加
plt.title("A Day's Temperature Change")
plt.xlabel("Time (hour)")
plt.ylabel("Temperature (°C)")

# グラフを表示
plt.show()

このコードでは、まず時間と気温のデータをリストとして定義しています。plt.plot() 関数にこれらのリストを渡すことで、折れ線グラフが描画されます。

plt.title(), plt.xlabel(), plt.ylabel() 関数は、それぞれグラフのタイトル、x軸のラベル、y軸のラベルを設定するために使用します。

最後に、plt.show() 関数を呼び出すことで、描画されたグラフが表示されます。

散布図を描いてみよう

次に、散布図を描いてみましょう。散布図は、二つの変数の関係性を視覚的に表現するのに適しています。

import matplotlib.pyplot as plt

# データ
x = [1, 2, 3, 4, 5]
y = [2, 4, 1, 3, 5]

# 散布図を描画
plt.scatter(x, y)

# グラフにタイトルと軸ラベルを追加
plt.title("Scatter Plot Example")
plt.xlabel("X-axis")
plt.ylabel("Y-axis")

# グラフを表示
plt.show()

plt.scatter() 関数は、x座標とy座標のリストを受け取り、散布図を描画します。

棒グラフを描いてみよう

棒グラフは、カテゴリごとの値を比較するのに役立ちます。

import matplotlib.pyplot as plt

# データ
categories = ["A", "B", "C", "D"]
values = [10, 15, 7, 12]

# 棒グラフを描画
plt.bar(categories, values)

# グラフにタイトルと軸ラベルを追加
plt.title("Bar Graph Example")
plt.xlabel("Categories")
plt.ylabel("Values")

# グラフを表示
plt.show()

plt.bar() 関数は、カテゴリのリストと値のリストを受け取り、棒グラフを描画します。

グラフのスタイルを調整する

Matplotlibでは、グラフの色、線のスタイル、マーカーの種類などを細かく調整できます。

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 4, 1, 3, 5]

# スタイルを指定して折れ線グラフを描画
plt.plot(x, y, color="red", linestyle="--", marker="o")

# グラフを表示
plt.show()

この例では、color パラメータで線の色を赤に、linestyle パラメータで線のスタイルを破線に、marker パラメータでマーカーの種類を丸に指定しています。

複数のグラフを1つの図に描画する

plt.subplot() 関数を使うと、複数のグラフを1つの図に並べて描画することができます。

import matplotlib.pyplot as plt

# 1行2列のグラフ領域を作成
plt.subplot(1, 2, 1)  # 1行2列の1番目のグラフ
plt.plot([1, 2, 3], [4, 5, 2])
plt.title("Graph 1")

plt.subplot(1, 2, 2)  # 1行2列の2番目のグラフ
plt.bar([0, 1, 2], [7, 8, 3])
plt.title("Graph 2")

# グラフを表示
plt.show()

plt.subplot(nrows, ncols, index) は、nrowsncols 列のグラフ領域を作成し、index 番目のグラフを選択します。

まとめ

Matplotlibは、Pythonでデータを効果的に可視化するための非常に強力なツールです。今回紹介したのはほんの基本的な機能ですが、これらの知識だけでも様々なグラフを描画することができます。さらに詳しい情報は、Matplotlibの公式ドキュメント(https://matplotlib.org/)を参照してください。

Matplotlibを使いこなして、データ分析をより深く、そして視覚的に楽しんでください!



< Numpy
Pandas >



コラム一覧

if文
for文
関数
配列
文字列
正規表現
ファイル入出力
openpyxl
Numpy
Matplotlib
Pandas
scikit-learn
seaborn
beautifulsoup
tkinter
OpenCV
pygame
メイン関数
自作ライブラリ
画像処理
機械学習
スクレイピング
データ分析
グラフ作成
API
可読性
デバッグ
例外処理
コメント
組み込み関数
flask
学び方
ビット演算
マルチスレッドプログラミング
参照渡し
pyenv
エディタ
生成AI
画像認識
Streamlit
lambda式
物理演算シミュレーション
命名規則
遺伝的アルゴリズム
関数型プログラミング
オブジェクト指向
ツリー図