MatplotlibでPythonの棒グラフを作成!簡単な基礎から応用まで完全解説

※本サイトにはプロモーション・広告が含まれています。

(最終更新月: 2024年11月)

✔こんな方におすすめの記事です

「Matplotlibで棒グラフを描きたいけど、どうすればいいの?」
「Pythonで棒グラフを作るときの基本的な手順を知りたい」
「もっとおしゃれな棒グラフを作れるようになりたい」

✔当記事を通じて得られること

  • Matplotlibを使った棒グラフの基本的な作成方法
  • 棒グラフのカスタマイズテクニック
  • 実践的な棒グラフ作成のコツとサンプルコード

当記事では、Matplotlibによる棒グラフ作成の基礎から応用テクニックまで、実例を交えて詳しく解説していきます。
ぜひ最後までご覧ください。

筆者プロフィール

筆者プロフィールアイコン

【現職】プロダクトマネージャー

【副業】ブログ(月間20万PV)/YouTube/Web・アプリ制作

「プログラミング × ライティング × 営業」の経験を活かし、30後半からのIT系職へシフト。現在はプロダクトマネージャーとして、さまざまな関係者の間に入り奮闘してます。当サイトでは、実際に手を動かせるWebアプリの開発を通じて、プログラミングはもちろん、IT職に必要な情報を提供していきます。

【当ブログで紹介しているサイト】

当サイトチュートリアルで作成したデモ版日報アプリ

Django × Reactで開発したツール系Webアプリ

✔人に見せても恥ずかしくないコードを書こう

「リーダブルコード」は、わかりやすく良いコードの定義を教えてくれる本です。

  • 見るからにきれいなコードの書き方
  • コードの分割方法
  • 変数や関数の命名規則

エンジニアのスタンダートとすべき基準を一から解説しています。

何回も読むのに値する本なので、ぜひ手にとって読んでみてください。

Matplotlibの棒グラフ基礎知識

Matplotlibを使って棒グラフを作成する前に、基本的な知識を整理していきましょう。
正しい理解があれば、思い通りの棒グラフを簡単に作ることができます。

  • Matplotlibとは
  • 棒グラフの基本構造
  • グラフ作成に必要なライブラリ

Matplotlibとは

Matplotlibは、Pythonで使用できる強力なグラフ作成ライブラリです。

データの可視化に特化した機能を多く備えているため、多くのデータサイエンティストに愛用されています。

以下のコマンドでMatplotlibをインストールできます。

pip install matplotlib

棒グラフの基本構造

棒グラフは、データを縦向きまたは横向きの棒で表現するグラフです。

主にカテゴリーごとの数値を比較するときに使用します。

基本的な構造は以下の要素で構成されています。

  • X軸(カテゴリー)
  • Y軸(数値)
  • 棒(データを表現する部分)

グラフ作成に必要なライブラリ

棒グラフを作成するために、以下のライブラリが必要です。

import matplotlib.pyplot as plt
import numpy as np

基本的な棒グラフの作り方

ここからは、実際に棒グラフを作成する方法を解説していきます。
まずは簡単な例から始めて、徐々に複雑なグラフの作成方法を学んでいきましょう。

  • 単純な棒グラフの作成手順
  • データの準備方法
  • グラフの表示方法

単純な棒グラフの作成手順

最も基本的な棒グラフは、以下のコードで作成できます。

x = ['A', 'B', 'C', 'D']
y = [4, 3, 2, 1]

plt.bar(x, y)
plt.show()

このコードでは、X軸にカテゴリー、Y軸に数値を設定しています。

plt.bar()関数に2つの引数を渡すことで、簡単に棒グラフが作成できるのです。

データの準備方法

棒グラフを作成する前に、適切なデータ形式に整える必要があります。

データは以下のような形式で準備するのが一般的です。

# リストを使用する場合
categories = ['A', 'B', 'C', 'D']
values = [10, 20, 30, 40]

# NumPy配列を使用する場合
categories = np.array(['A', 'B', 'C', 'D'])
values = np.array([10, 20, 30, 40])

グラフの表示方法

作成したグラフを表示するには、複数の方法があります。

# 方法1: plt.show()を使用
plt.bar(x, y)
plt.show()

# 方法2: オブジェクト指向インターフェースを使用
fig, ax = plt.subplots()
ax.bar(x, y)
plt.show()

棒グラフのカスタマイズ方法

棒グラフをより見やすく、魅力的にするためのカスタマイズ方法を紹介します。
適切なカスタマイズを行うことで、プロフェッショナルな印象のグラフを作成できます。

  • 色の設定
  • サイズの調整
  • ラベルの追加

色の設定

棒グラフの色を変更するには、以下のように設定します。

plt.bar(x, y, color='skyblue')  # 単色の場合

# 複数の色を使用する場合
colors = ['red', 'blue', 'green', 'yellow']
plt.bar(x, y, color=colors)

色は名前で指定する以外にも、RGBやHEXコードでも指定できます。

サイズの調整

グラフのサイズや棒の幅は以下のように調整できます。

# グラフ全体のサイズを設定
plt.figure(figsize=(10, 6))

# 棒の幅を調整
plt.bar(x, y, width=0.5)  # 幅を0.5に設定

見やすさを考慮して、適切なサイズに調整することが重要です。

ラベルの追加

グラフにタイトルや軸ラベルを追加するには以下のようにします。

plt.bar(x, y)
plt.title('売上実績グラフ')
plt.xlabel('月')
plt.ylabel('売上(万円)')

応用的な棒グラフテクニック

基本的な棒グラフの作成方法を理解したら、より高度なテクニックに挑戦してみましょう。
ここでは、実務でよく使用される応用的なテクニックを紹介します。

  • 複数の棒グラフの比較
  • エラーバーの追加
  • 積み上げ棒グラフの作成

複数の棒グラフの比較

2つ以上のデータを比較する場合は、以下のように作成します。

x = np.arange(4)
y1 = [10, 20, 30, 40]
y2 = [15, 25, 35, 45]

width = 0.35
plt.bar(x - width/2, y1, width, label='2022年')
plt.bar(x + width/2, y2, width, label='2023年')
plt.legend()

並べて比較することで、データの違いが一目で分かります。

エラーバーの追加

データの不確実性を表現するエラーバーを追加できます。

x = ['A', 'B', 'C', 'D']
y = [20, 35, 30, 25]
yerr = [2, 3, 4, 2]

plt.bar(x, y, yerr=yerr, capsize=5)

エラーバーを追加することで、データの信頼性を視覚的に表現できます。

積み上げ棒グラフの作成

複数のカテゴリーを積み上げて表示する場合は以下のようにします。

data1 = [10, 20, 30, 40]
data2 = [5, 15, 25, 35]

plt.bar(x, data1, label='First')
plt.bar(x, data2, bottom=data1, label='Second')
plt.legend()

グラフの見た目を整える

作成した棒グラフをより見やすく、プロフェッショナルな印象に仕上げるためのテクニックを紹介します。
細かな調整が、グラフの質を大きく向上させます。

  • グリッド線の追加
  • フォントの設定
  • 数値ラベルの追加

グリッド線の追加

グリッド線を追加することで、数値の読み取りが容易になります。

plt.bar(x, y)
plt.grid(axis='y', linestyle='--', alpha=0.7)

グリッド線のスタイルや透明度も自由に調整できます。

フォントの設定

日本語フォントを使用する場合は、以下のように設定します。

plt.rcParams['font.family'] = 'MS Gothic'  # Windows
# plt.rcParams['font.family'] = 'Hiragino Sans'  # Mac

フォントサイズも変更できます。

数値ラベルの追加

棒の上に数値を表示させる場合は以下のようにします。

x = ['A', 'B', 'C', 'D']
y = [10, 20, 30, 40]

bars = plt.bar(x, y)
for bar in bars:
    height = bar.get_height()
    plt.text(bar.get_x() + bar.get_width()/2, height,
             f'{height}',
             ha='center', va='bottom')

まとめ

当記事では、Matplotlibを使用した棒グラフの作成方法について学習してきました。

  • 基本的な棒グラフの作成方法を習得できました
  • カスタマイズテクニックを使って、グラフの見た目を改善できるようになりました
  • 実践的な応用例を通じて、様々な種類の棒グラフ作成方法を学びました

これらの知識を活用すれば、データの可視化がより効果的になるはずです。

まずは基本的な棒グラフから始めて、少しずつカスタマイズを加えていくことをおすすめします。

最後に、実際のデータを使って練習することで、さらなるスキルアップを目指しましょう。

タイトルとURLをコピーしました