python PR

Pythonでデータ分析|matplotlibでグラフ作成をマスターしよう

Python データ分析 matplotlib
記事内に商品プロモーションを含む場合があります

Pythonでデータ分析を行う際、グラフやチャートを用いてデータの可視化を行うことが重要になります

この記事では、Pythonでデータ分析を行う際に重要なライブラリであるmatplotlibの使い方を詳しく解説していきます

また、この記事を読んで、Pythonでデータ分析を始めよう!挫折しない実践ガイドでスキルアップで紹介しているデータ分析の基本的なスキルも合わせて理解を深めていきましょう

matplotlibとは?

matplotlibとは?matplotlibは、Pythonでグラフやチャートを描画するためのライブラリです

matplotlibを使用することで、線グラフ、棒グラフ、散布図、ヒストグラムなど、さまざまな種類のグラフを作成することができます

データ分析を行う際に、matplotlibは欠かせないライブラリです

matplotlibのインストール

matplotlibのインストールまずはmatplotlibをインストールしていきます

以下のコマンドで簡単にインストールできます

pip install matplotlib

Anacondaを使用している場合には、

conda install matplotlib

matplotlibの基本的な使い方

matplotlibの基本的な使い方

matplotlibを使ってグラフを描画するには、以下の手順で行います

  1. ライブラリをインポートする
  2. データを準備する
  3. グラフを描画する
  4. グラフにタイトルや軸ラベルを追加する
  5. グラフを表示する

matplotlibを使って簡単な線グラフを描画するサンプルコード

import matplotlib.pyplot as plt

# データの準備
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]

# グラフの描画
plt.plot(x, y)

# タイトルと軸ラベルの追加
plt.title("Sample Line Graph")
plt.xlabel("X-axis")
plt.ylabel("Y-axis")

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

これで、基本的な線グラフが表示されます

次に、matplotで他の種類のグラフの作成方法や、グラフのカスタマイズ方法について解説していきます

データ分析において可視化が重要な理由

データ分析において可視化が重要な理由データ分析において可視化が重要な理由はいくつかあります

重要な理由をいくつか挙げると、

  • データの理解を容易にする
  • 異常値や外れ値の検出
  • データの比較
  • コミュニケーションの効率化
  • 意思決定のサポート

などが挙げられます

データの理解を容易にする

データの理解を容易にするデータの可視化は、大量のデータや複雑なデータを理解しやすい形で表現できます

また、表や数字だけでは把握しにくいパターンや傾向も、グラフやチャートにすることで直感的に理解できる

異常値や外れ値の検出

異常値や外れ値の検出データの可視化によってデータの分布やパターンを把握しやすくなり、異常値や外れ値を見つけやすくなる

これらの値はデータ品質に影響を与える可能性があり、分析結果に誤りを生じさせることがあるので、見落とさないためにも可視化は有効

データの比較

データの比較複数のデータセットやカテゴリ間の比較が容易になる

可視化によって、違いや類似点が明確になり、分析結果の解釈がしやすい

コミュニケーションの効率化

コミュニケーションの効率化データの可視化は、データ分析結果を他の人に伝える際に非常も役立つ

視覚的な表現は、言葉や数字だけで説明するよりも簡潔かつ明瞭に情報を伝達できます

意思決定のサポート

意思決定のサポート可視化により、データから得られたインサイトを分かりやすく伝えることが可能

これによって、意思決定者がデータに基づいた正確で効果的な決定を下しやすくなる

上記の理由から、データ分析において可視化は重要な役割を果たしています

データの可視化を適切に活用することで、データから有益な情報を引き出し、効果的な分析結果を得ることができます

matplotlibを使ったグラフ作成方法

matplotlibを使ったグラフ作成方法

matplotlibでは、線グラフ以外にもさまざまなグラフを作成することができます

matplotlibで作成できるグラフには、次のグラフがあります

  • 棒グラフ
  • 散布図
  • ヒストグラム
  • 円グラフ
  • 箱ひげ図
  • ヒートマップ

各グラフの完成イメージ

matplotlib完成イメージ

棒グラフ

棒グラフ棒グラフは、カテゴリ別の数値を比較するのに適したグラフです

matplotlibでは、plt.bar()関数を使用して棒グラフを作成できます

import matplotlib.pyplot as plt

# データの準備
categories = ['A', 'B', 'C', 'D', 'E']
values = [3, 5, 2, 8, 6]

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

# タイトルと軸ラベルの追加
plt.title("Sample Bar Graph")
plt.xlabel("Categories")
plt.ylabel("Values")

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

散布図

散布図散布図は、2つの変数間の関係を視覚的に表すのに最適なグラフです

plt.scatter()関数を使用して散布図を作成できます

import matplotlib.pyplot as plt

# データの準備
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]

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

# タイトルと軸ラベルの追加
plt.title("Sample Scatter Plot")
plt.xlabel("X-axis")
plt.ylabel("Y-axis")

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

ヒストグラム

ヒストグラムヒストグラムは、データの分布を可視化するのに適したグラフです

plt.hist()関数を使用してヒストグラムを作成していきます

import matplotlib.pyplot as plt
import numpy as np

# データの準備
data = np.random.randn(1000)

# ヒストグラムの描画
plt.hist(data, bins=30)

# タイトルと軸ラベルの追加
plt.title("Sample Histogram")
plt.xlabel("Values")
plt.ylabel("Frequency")

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

円グラフ

円グラフ 円グラフを作成するには、plt.pie()関数を使用します

import matplotlib.pyplot as plt

# データの準備
labels = ['A', 'B', 'C', 'D']
sizes = [15, 30, 45, 10]

# 円グラフの描画
plt.pie(sizes, labels=labels, autopct='%1.1f%%', startangle=90)

# タイトルの追加
plt.title("Pie Chart")

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

箱ひげ図

箱ひげ図箱ひげ図を作成するには、plt.boxplot()関数を使用

import matplotlib.pyplot as plt
import numpy as np

# データの準備
np.random.seed(0)
data = [np.random.normal(0, std, 100) for std in range(1, 4)]

# 箱ひげ図の描画
plt.boxplot(data)

# タイトルと軸ラベルの追加
plt.title("Box Plot")
plt.xlabel("Category")
plt.ylabel("Value")

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

ヒートマップ

ヒートマップヒートマップを作成するには、plt.imshow()関数を使用

import matplotlib.pyplot as plt
import numpy as np

# データの準備
data = np.random.rand(10, 10)

# ヒートマップの描画
plt.imshow(data, cmap='hot', interpolation='nearest')

# カラーバーの追加
plt.colorbar()

# タイトルの追加
plt.title("Heatmap")

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

今回紹介したグラフは、さまざまなデータ分析や可視化のシーンで使用されています

matplotlibを使って、データに合わせて適切なグラフを選択し、さらにカスタマイズしてみてください

matplotlibで作成したグラフのカスタマイズ

matplotlibで作成したグラフのカスタマイズmatplotlibでは、グラフの見た目やスタイルをカスタマイズすることができます

ここからはmatplotlibで作成したグラフのカスタマイズ方法を紹介していきます

線のスタイルと色の変更

線のスタイルと色の変更線グラフの線のスタイルや色を変更するには、plt.plot()関数の引数にオプションを追加します

import matplotlib.pyplot as plt

# データの準備
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]

# グラフの描画(線のスタイルと色を変更)
plt.plot(x, y, linestyle='--', color='red')

#タイトルと軸ラベルの追加
plt.title("Custom Line Style and Color")
plt.xlabel("X-axis")
plt.ylabel("Y-axis")

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

マーカーのスタイルとサイズの変更

マーカーのスタイルとサイズの変更散布図や線グラフにプロットされる点のマーカーのスタイルやサイズを変更するには、plt.plot()plt.scatter()関数の引数にオプションを追加します

import matplotlib.pyplot as plt

# データの準備
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]

# 散布図の描画(マーカーのスタイルとサイズを変更)
plt.scatter(x, y, marker='s', s=100)

# タイトルと軸ラベルの追加
plt.title("Custom Marker Style and Size")
plt.xlabel("X-axis")
plt.ylabel("Y-axis")

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

凡例の追加

凡例の追加複数のデータセットを含むグラフに凡例を追加するには、plt.legend()関数を使用します

import matplotlib.pyplot as plt

# データの準備
x = [1, 2, 3, 4, 5]
y1 = [2, 4, 6, 8, 10]
y2 = [1, 3, 5, 7, 9]

# グラフの描画
plt.plot(x, y1, label='Dataset 1')
plt.plot(x, y2, label='Dataset 2')

# タイトルと軸ラベルの追加
plt.title("Adding Legends")
plt.xlabel("X-axis")
plt.ylabel("Y-axis")

# 凡例の追加
plt.legend()

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

サブプロットの作成

サブプロットの作成複数のグラフをまとめて表示するには、plt.subplot()関数を使用してサブプロットを作成

import matplotlib.pyplot as plt
import numpy as np

# データの準備
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)

# サブプロット1(左上)
plt.subplot(2, 2, 1)
plt.plot(x, y1)
plt.title("Sine curve")

# サブプロット2(右上)
plt.subplot(2, 2, 2)
plt.plot(x, y2)
plt.title("Cosine curve")

# サブプロット3(左下)
plt.subplot(2, 2, 3)
plt.plot(x, y1 * y2)
plt.title("Product of Sine and Cosine")

# サブプロット4(右下)
plt.subplot(2, 2, 4)
plt.plot(x, y1 - y2)
plt.title("Difference between Sine and Cosine")

# グラフの表示
plt.tight_layout()
plt.show()

グリッドの表示

グリッドの表示グラフにグリッド線を表示するには、plt.grid()関数を使用

import matplotlib.pyplot as plt

# データの準備
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]

# 線グラフの描画
plt.plot(x, y)

# グリッドの表示
plt.grid()

# タイトルと軸ラベルの追加
plt.title("Grid Lines")
plt.xlabel("X-axis")
plt.ylabel("Y-axis")

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

軸の範囲の変更

軸の範囲の変更グラフの軸の範囲を変更するには、plt.xlim()およびplt.ylim()関数を使用

import matplotlib.pyplot as plt

# データの準備
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]

# 線グラフの描画
plt.plot(x, y)

# 軸の範囲の変更
plt.xlim(0, 6)
plt.ylim(0, 12)

# タイトルと軸ラベルの追加
plt.title("Custom Axis Range")
plt.xlabel("X-axis")
plt.ylabel("Y-axis")

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

軸のタイトルのフォントサイズの変更

軸のタイトルのフォントサイズの変更軸のタイトルのフォントサイズを変更するには、plt.xlabel()およびplt.ylabel()関数の引数にオプションを追加します

import matplotlib.pyplot as plt

# データの準備
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]

# 線グラフの描画
plt.plot(x, y)

# タイトルと軸ラベルの追加(フォントサイズを変更)
plt.title("Custom Axis Label Font Size")
plt.xlabel("X-axis", fontsize=14)
plt.ylabel("Y-axis", fontsize=14)

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

グラフのスタイル

グラフのスタイルmatplotlibでは、グラフのスタイルを変更することができます

プリセットされたスタイルを適用するには、plt.style.use()関数を使用します

import matplotlib.pyplot as plt

# スタイルの適用
plt.style.use('ggplot')

# データの準備
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]

# 線グラフの描画
plt.plot(x, y)

# タイトルと軸ラベルの追加
plt.title("Custom Graph Style")
plt.xlabel("X-axis")
plt.ylabel("Y-axis")

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

これらのオプションを組み合わせて、matplotlibを使ってグラフをさらにカスタマイズしてみてください

実装を重ねることで、より見やすく魅力的なグラフを作成できるようになっていきます

また、Pythonでのデータ分析を学ぶ際には、Pythonでデータ分析を始めよう!挫折しない実践ガイドでスキルアップも参考にしてください

まとめ

まとめ

この記事では、matplotlibを使用してPythonでデータ分析を行う方法を解説しました

さらなるデータ分析スキルの習得に向けて、ぜひPythonでデータ分析を始めよう!挫折しない実践ガイドでスキルアップも参考にしてください

機械学習に興味がある方は、Pythonで機械学習を学んで実装してみようも参考にしてください

Pythonとmatplotlibを使いこなすことで、データ分析の世界が大きく広がります

おすすめプログラミングスクール

DMMWEBCAMP
  • WEBCAMPはコスパ最強
  • WEBCAMPは初心者に優しい充実したサポート付き
  • 16週間プランを選択して、返金してもらおう
WEBCAMPの公式ページはこちら WEBCAMPの口コミ・評価はこちら
テックアカデミー  
  • テックアカデミーは費用対効果抜群
  • テックアカデミーのサポートは個人の能力に応じつつ、python初心者に優しい
  • まずは無料体験でテックアカデミーを知ってから受講を決める
テックアカデミーの公式ページはこちら テックアカデミーの口コミ・評価はこちら
キカガク
  • 多種多様なスキルコース
  • 初心者から専門家まで対象
  • 給付金利用で費用を抑えられる
キカガクの公式ページはこちら キカガクの口コミ・評価はこちら
Aidemy Premium
  • 完全オンラインで、時間や場所に縛られず学習したい
  • マンツーマン学習サポートにより実践に近い経験をしたい
  • 未経験から機械学習エンジニアになりたい
Aidemy Premiumの公式ページはこちら Aidemy Premiumの口コミ・評価はこちら
My Agile Privacy
This website uses technical and profiling cookies. Clicking on "Accept" authorises all profiling cookies. Clicking on "Refuse" or the X will refuse all profiling cookies. By clicking on "Customise" you can select which profiling cookies to activate.