【Python初心者向け】matplotlibでグラフを描く基本|折れ線・棒グラフの描き方

Pythonでデータ分析を始めたなら、データの“見える化”は欠かせません。データがどのように分布しているのか、時間とともにどう変化しているのかを視覚的に把握できれば、分析の理解が一気に深まります。

そんなときに役立つのが、Pythonのグラフ描画ライブラリ matplotlib です。
本記事では、matplotlibの基本中の基本である「折れ線グラフ」と「棒グラフ」の描き方を丁寧に解説します。


📦 まずはmatplotlibのインストールとインポート

多くの環境では初めからインストールされていますが、未導入の方は以下のコマンドでインストール可能です。

pip install matplotlib

インストール後は、以下のようにインポートします。以後は plt と略して使うのが一般的です。

import matplotlib.pyplot as plt

📈 折れ線グラフ(Line Plot)の描き方

折れ線グラフは「時系列の変化」を見せたいときによく使います。

▶ 基本例

x = [1, 2, 3, 4, 5]  # 横軸(例:月)
y = [10, 15, 13, 18, 20] # 縦軸(例:売上)

plt.plot(x, y)
plt.title("売上の推移")
plt.xlabel("月")
plt.ylabel("売上(万円)")
plt.grid(True) # グリッドを追加すると視認性UP
plt.show()

これだけで、月ごとの売上推移を視覚化できます。

日本語フォントがインストールされていなかったり上記コードで文字化けが起きた場合は以下も試してみてください。

# 日本語フォントのインストール(済みの場合はスキップ可)
!apt-get -y install fonts-ipafont-gothic

# 必要なモジュールのインポート
import matplotlib.pyplot as plt
from matplotlib import font_manager as fm

# フォントパスを明示的に指定(IPAGothic の例)
font_path = '/usr/share/fonts/opentype/ipafont-gothic/ipagp.ttf'  # または ipag.ttf
jp_font = fm.FontProperties(fname=font_path)

# グラフ描画(日本語ラベルをFontPropertiesで個別に指定)
x = [1, 2, 3, 4, 5]
y = [10, 15, 13, 18, 20]

plt.plot(x, y)
plt.title("売上の推移", fontproperties=jp_font)
plt.xlabel("月", fontproperties=jp_font)
plt.ylabel("売上(万円)", fontproperties=jp_font)
plt.grid(True)
plt.show()

▶ ラインの色やマーカーを変えてみよう

plt.plot(x, y, color="green", marker="o", linestyle="--")

plt.plot(x,y)を上記のようにすると線の色や点の形を変更することができます。

オプション意味
color線の色(例:”red”)
markerデータ点のマーク(例:”o”, “s”)
linestyle線の種類(例:”–“, “-.”)

🧩 各引数の詳細

引数意味
x横軸の値(例:時間や月など)
y縦軸の値(例:売上や人数など)
color="green"線の色を緑色にする。"red""blue" なども可
marker="o"データ点に丸印(●)を表示する。視認性を高める効果
linestyle="--"線を点線(破線)で描く。通常の線なら "-"

🎨 よく使う marker の種類一覧

マーカー説明
"o"丸印(●)
"s"四角(■)
"^"上向き三角(▲)
"x"バツ印(×)
"*"星マーク(★)
"D"ひし形

🎨 よく使う linestyle の種類一覧

スタイル説明
"-"実線
"--"破線(点線)
"-."一点鎖線
":"点線(細かい)

📊 棒グラフ(Bar Chart)の描き方

カテゴリごとの数値比較には棒グラフが適しています。

▶ 基本例

items = ["A商品", "B商品", "C商品"]
sales = [100, 80, 120]

plt.bar(items, sales)
plt.title("商品別売上")
plt.xlabel("商品")
plt.ylabel("売上(個)")
plt.show()

横軸がカテゴリ、縦軸が数値という構成になっています。

▶ カラーや幅の調整

plt.bar(items, sales, color="skyblue", width=0.6)
オプション意味
color棒の色を指定
width棒の太さを調整(0〜1)

🖼 グラフの保存方法

描画したグラフは画像ファイルとして保存することもできます。SNSやレポート資料に使いたいときに便利です。

plt.savefig("graph.png", dpi=300, bbox_inches='tight')
オプション意味
dpi解像度(大きいほど高画質)
bbox_inches余白を自動で調整して切り取る設定(tight推奨)

保存後に plt.show() を呼び出して画面にも表示できます。


🧠 初心者向けコツまとめ

  • plt.plot()plt.bar() は「呼び出す順番」が大事。設定は show() の前に済ませる。
  • グラフが見づらいと感じたら、plt.grid(True) を追加すると見やすくなる。
  • 長い項目名を使うときは plt.xticks(rotation=45) などでラベルを傾けると整う。

✅ 今回のまとめ

学んだこと内容
折れ線グラフの描き方plot()、タイトル・軸ラベルの追加
棒グラフの描き方bar()、カテゴリごとの比較
表示と保存の方法show()savefig() など

matplotlibは最初は難しそうに見えますが、基本を押さえれば自由にグラフをカスタマイズできます。
次回以降では、散布図や複数グラフの並列表示など、より実践的な可視化方法を解説していきます!


📝練習問題(理解度チェック)

  1. 以下のデータを使って、タイトルや軸ラベル付きの折れ線グラフを作成してください。
x = [1, 2, 3, 4, 5]
y = [5, 3, 7, 10, 6]
  • タイトル:アクセス数の推移
  • x軸:日付
  • y軸:アクセス数
  1. 以下のデータを棒グラフで可視化し、"sales_chart.png" として保存してください。
items = ["X", "Y", "Z"]
sales = [150, 120, 90]
  • グラフの色は "orange" に指定
  • 幅はデフォルトでOK

次回は「散布図とカスタマイズの基本」について詳しく解説します。

【Python可視化】散布図とカスタマイズの基本|見やすいグラフを描くためのポイント

コメント

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