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は最初は難しそうに見えますが、基本を押さえれば自由にグラフをカスタマイズできます。
次回以降では、散布図や複数グラフの並列表示など、より実践的な可視化方法を解説していきます!
📝練習問題(理解度チェック)
- 以下のデータを使って、タイトルや軸ラベル付きの折れ線グラフを作成してください。
x = [1, 2, 3, 4, 5]
y = [5, 3, 7, 10, 6]- タイトル:アクセス数の推移
- x軸:日付
- y軸:アクセス数
- 以下のデータを棒グラフで可視化し、
"sales_chart.png"として保存してください。
items = ["X", "Y", "Z"]
sales = [150, 120, 90]- グラフの色は
"orange"に指定 - 幅はデフォルトでOK
次回は「散布図とカスタマイズの基本」について詳しく解説します。

コメント