データをわかりやすく伝えるには「グラフ」の活用が欠かせません。
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でのグラフ作成を実践し、データ可視化の力を身につけていきましょう。