Pythonでデータ分析を行う際、グラフやチャートを用いてデータの可視化を行うことが重要になります
この記事では、Pythonでデータ分析を行う際に重要なライブラリであるmatplotlibの使い方を詳しく解説していきます
また、この記事を読んで、Pythonでデータ分析を始めよう!挫折しない実践ガイドでスキルアップで紹介しているデータ分析の基本的なスキルも合わせて理解を深めていきましょう
matplotlibとは?
matplotlibは、Pythonでグラフやチャートを描画するためのライブラリです
matplotlibを使用することで、線グラフ、棒グラフ、散布図、ヒストグラムなど、さまざまな種類のグラフを作成することができます
データ分析を行う際に、matplotlibは欠かせないライブラリです
matplotlibのインストール
まずはmatplotlibをインストールしていきます
以下のコマンドで簡単にインストールできます
pip install matplotlib
Anacondaを使用している場合には、
conda install matplotlib
matplotlibの基本的な使い方

matplotlibを使ってグラフを描画するには、以下の手順で行います
- ライブラリをインポートする
- データを準備する
- グラフを描画する
- グラフにタイトルや軸ラベルを追加する
- グラフを表示する
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では、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で作成したグラフのカスタマイズ方法を紹介していきます
線のスタイルと色の変更
線グラフの線のスタイルや色を変更するには、
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を使いこなすことで、データ分析の世界が大きく広がります