Pythonでグラフを作る方法を徹底解説|matplotlib・pandasで視覚化をマスター

データをわかりやすく伝えるには「グラフ」の活用が欠かせません。
Pythonはプログラミング初心者にも扱いやすく、グラフの作成もシンプルなコードで実現できます。
本記事では、Pythonでグラフを作るための代表的なライブラリ「matplotlib」や「pandas」を使って、棒グラフ、折れ線グラフ、円グラフなどの基本から、カスタマイズ方法まで丁寧に解説します。
これからデータ分析や可視化を始めたい方におすすめの内容です。


Pythonでグラフを作成する準備

Pythonでグラフを描画するには、まずライブラリのインストールが必要です。
代表的なグラフ描画ライブラリには以下の2つがあります。

  • matplotlib:基本的なグラフ作成に向いており、細かいカスタマイズが可能。
  • pandas:データフレームと連携して手軽にグラフを作成可能。

インストールは以下のようにします。

pip install matplotlib pandas

次に、Pythonコード内でライブラリをインポートしましょう。

import matplotlib.pyplot as plt
import pandas as pd

準備はこれだけです。次のステップで具体的なグラフの描画方法を見ていきましょう。


折れ線グラフを描く

折れ線グラフは、時間の経過による数値の変化を示すときに便利です。
例えば月ごとの売上推移を折れ線で表示してみましょう。

months = ['1月', '2月', '3月', '4月', '5月']
sales = [100, 120, 90, 150, 200]

plt.plot(months, sales)
plt.title('月別売上推移')
plt.xlabel('月')
plt.ylabel('売上(万円)')
plt.grid(True)
plt.show()

このコードを実行すると、月ごとの売上の変化が折れ線で表示されます。plt.title()plt.xlabel()でタイトルや軸のラベルも追加できます。


棒グラフを描く

カテゴリごとの比較に適した棒グラフも簡単に描けます。以下のコードは、製品ごとの売上を棒グラフで示しています。

products = ['商品A', '商品B', '商品C']
sales = [300, 500, 400]

plt.bar(products, sales)
plt.title('製品別売上')
plt.xlabel('製品名')
plt.ylabel('売上(万円)')
plt.show()

plt.bar()で棒グラフを描画できます。棒の色や幅を変更することも可能です。


円グラフを描く

売上構成比など、全体に占める割合を示すのに便利なのが円グラフです。

labels = ['商品A', '商品B', '商品C']
sales = [30, 50, 20]

plt.pie(sales, labels=labels, autopct='%1.1f%%')
plt.title('製品別売上構成比')
plt.show()

このコードでは、autopctを使ってパーセンテージ表示も加えています。円グラフは見た目がわかりやすく、プレゼン資料でもよく使われます。


pandasのDataFrameからグラフを作る

pandasとmatplotlibを組み合わせれば、データフレームから直接グラフを生成できます。以下は、月ごとの売上をpandasで処理し、折れ線グラフで表示する例です。

data = {
'月': ['1月', '2月', '3月', '4月', '5月'],
'売上': [100, 120, 90, 150, 200]
}
df = pd.DataFrame(data)

df.plot(x='月', y='売上', kind='line', title='月別売上推移')
plt.ylabel('売上(万円)')
plt.grid(True)
plt.show()

df.plot()kindパラメータで、bar(棒グラフ)、pie(円グラフ)なども指定可能です。


グラフをカスタマイズする

matplotlibでは、色、線のスタイル、フォントなど細かい部分も自由に調整できます。

plt.plot(months, sales, color='green', linestyle='--', marker='o')
plt.title('月別売上(カスタマイズ)')
plt.xlabel('月')
plt.ylabel('売上')
plt.grid(True)
plt.show()
  • color='green':線の色を緑に
  • linestyle='--':破線に
  • marker='o':マーカーを丸に

これらを組み合わせれば、より伝わりやすいグラフが作成できます。


グラフを画像ファイルとして保存する

グラフを表示するだけでなく、画像ファイルとして保存したいときは、plt.savefig()を使います。

plt.plot(months, sales)
plt.title('保存用グラフ')
plt.savefig('sales_chart.png')

画像はカレントディレクトリに保存されます。保存前にplt.show()を呼び出すと空の画像になることがあるため、保存は表示の前に行うのが基本です。


グラフ作成でよくあるエラーと対処法

  • グラフが表示されない
     → plt.show() を忘れている可能性があります。
  • 文字化け(特に日本語)
     → matplotlibはデフォルトで日本語フォントが非対応のことがあります。以下を追加してください。
plt.rcParams['font.family'] = 'IPAexGothic'  # 日本語フォントに変更(インストール要)
  • 縦横比が崩れる
     → plt.axis('equal') を使うとバランスよくなります。

まとめ:Pythonでのグラフ作成は思ったより簡単

Pythonでのグラフ作成は、思っていたよりもシンプルに始められます。
基本的なmatplotlibの使い方さえ覚えれば、棒グラフ・折れ線グラフ・円グラフなど、さまざまなデータを視覚的に表現できるようになります。
また、pandasを使えば大量のデータを扱う際にも効率よくグラフ化できます。

データの傾向を掴んだり、相手に伝える資料を作るうえでも、グラフはとても重要なスキルです。
ぜひ、Pythonでのグラフ作成を実践し、データ可視化の力を身につけていきましょう。

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