1. はじめに|Pythonでグラフを描きたい人へ
こんにちは!今回は「Pythonでグラフを描く方法」について、初心者の方向けにわかりやすく解説していきます。
みなさんは、こんなことを考えたことはありませんか?
- 「データがたくさんあるけど、パッと見てわかりやすくしたい」
- 「表じゃなくて、グラフにして見せたい」
- 「Excelじゃなくて、Pythonでグラフって作れないの?」
そんなときに役立つのが、Pythonのグラフ描画ライブラリ Matplotlib(マットプロットリブ) です!
このライブラリを使えば、Pythonのコードだけで簡単に、
- 折れ線グラフ
- 棒グラフ
- 散布図(バラバラの点を表示するグラフ)
- ヒストグラム(点数の分布などに使うグラフ)
などが描けるようになります!
しかも、見た目も自由にカスタマイズできて、タイトルや色、マーカーの形まで自分の好きなように調整できます。
このシリーズでは、Matplotlibを初めて使う人でも安心して学べるように、
- グラフを描くための「基本用語」
- インストール方法とおすすめの環境(Jupyter Notebook)
- 実際にグラフを描く手順
- グラフの見た目のカスタマイズ方法
- 複数グラフの表示や、画像として保存する方法
まで、ひとつずつ丁寧に解説していきます。
数学や統計がちょっと苦手でも大丈夫!
グラフを使えば、データの流れや傾向がひと目でわかるようになって、分析や発表にもとっても便利なんです。
それでは、Pythonでのグラフ作りの世界へ、一緒に楽しくチャレンジしてみましょう!
2. Matplotlibとは?基本用語と仕組みを知ろう
「Matplotlib(マットプロットリブ)」って聞いたことありますか?
これは、Pythonでグラフを描くときによく使われる、とっても便利なライブラリ(=道具箱のようなもの)なんです。
ExcelやGoogleスプレッドシートでもグラフは作れますが、Pythonならもっと自由に、自動で、たくさんのデータをきれいにグラフにできます。
でも、最初はちょっと「難しそう…」と感じるかもしれませんよね。
そんなあなたのために、まずはMatplotlibでよく出てくるグラフ用語を、やさしく紹介します!
🎨 グラフを描くときによく出てくる用語
| 用語 | 説明 |
|---|---|
| Figure(フィギュア) | キャンバス(グラフ全体の土台)です。絵を描くための紙のようなもの。 |
| Axes(アクセス) | 実際にグラフが描かれるエリア。1つのFigureに複数のAxesを置けます。 |
| x-axis(xアクシス) | 横の線。例えば「日付」や「時間」を置くことが多いです。 |
| y-axis(yアクシス) | 縦の線。例えば「気温」や「売上」などの数字を置きます。 |
| Label(ラベル) | x軸・y軸に付ける名前。何のデータかを説明してくれます。 |
| Title(タイトル) | グラフ全体の名前です。例:「1週間の気温の変化」など。 |
| Legend(レジェンド) | グラフの説明。複数の線や棒を使うとき、それぞれの意味を表示します。 |
| Ticks(ティックス) | 軸のメモリのこと。目盛りをつけると読みやすくなります。 |
| Grid(グリッド) | グラフの背景に引かれる線。目安になる線ですね。 |
💡 つまり、グラフはこんな仕組みでできている!
- **Figure(紙)**の上に
- **Axes(描く場所)**があって
- x軸とy軸が引かれていて
- その上にデータが線や棒や点として描かれ
- **ラベル・タイトル・説明(Legend)**を付けて完成!
イメージはこんな感じ:
🖼️「図工で絵を描く」→📊「Pythonでグラフを描く」ってことですね!

用語がわかると、このあとコードを書くときに「これは何をやってるんだろう?」と混乱しにくくなります。
次は、実際にMatplotlibを使うための準備やインストールの手順を見ていきましょう!
3. 開発環境を整えよう(インストールとJupyter Notebook)
さて、Matplotlibの用語がわかったところで、
いよいよグラフを描くための準備をしていきましょう!
Pythonでは、プログラムを書くための「環境(かんきょう)」を自分で用意する必要があります。
ここでは、以下の2つを用意していきます。
- Matplotlib(グラフを描くライブラリ)
- Jupyter Notebook(プログラムを書くノート)
🧰 1. Matplotlibをインストールしよう!
まずは、グラフを描くための道具「Matplotlib」をインストールします。
WindowsでもMacでも、ターミナル(黒い画面)やコマンドプロンプトに、次のように入力します:
pip install matplotlib
これで、MatplotlibがPythonに追加されます!
(インターネットに接続している状態で行ってくださいね)
🇯🇵 2. 日本語が表示されない? → japanese_matplotlib を入れよう!
Matplotlibは英語がベースなので、そのままだとグラフの中に日本語がうまく表示されないことがあります。
そんなときは、こちらも一緒にインストールしましょう:
pip install japanese-matplotlib
このライブラリを使うと、グラフ内の日本語が文字化けせず、きれいに表示されるようになりますよ!
📒 3. Jupyter Notebookってなに?
プログラムを書くときに、黒い画面だけだとちょっと不便ですよね。
そこで登場するのが「Jupyter Notebook(ジュピター・ノートブック)」!
これは、Webブラウザ上でコードを書いて実行したり、結果をすぐに確認したりできる超便利なノートアプリです。
例えば、
- グラフを描いた結果をその場で見る
- コードとメモを一緒に書く
- 1行ずつコードを動かせる
といったことが、画面上でサクサクできます!
💻 Jupyter Notebookのインストール方法
以下のコマンドでインストールできます:
pip install jupyterlab
そして、次のコマンドをターミナルで実行すると:
jupyter notebook
自動的にブラウザが開いて、ノートブックの画面が出てきます!
📘 ノートブックを作ってみよう!
ブラウザ上で「New(新規)」→「Python 3」を選ぶと、新しいノートが開きます。
その中でコードを入力して、Shift + Enterを押すと、すぐに実行されて結果が表示される仕組みです。
Pythonでグラフを描くには、このJupyter Notebookがとっても便利なので、初心者の方にもおすすめです!

これで準備はバッチリ!
次はいよいよ、実際にグラフを描いていくステップに進みましょう〜!
4. 基本のグラフを描いてみよう
さて、ここからは実際にPythonとMatplotlibを使って、グラフを描いてみましょう!
今回は、よく使われる以下の4種類のグラフを紹介します。
- 折れ線グラフ
- 棒グラフ
- 散布図(バラバラの点)
- ヒストグラム(点数の分布)
「まずは動かしてみる!」を合言葉に、一緒にやってみましょう!
✏️ 準備コード(毎回最初に書く)
どのグラフを描くときも、まずは以下のコードからスタートします。
import matplotlib.pyplot as plt
import japanese_matplotlib # 日本語表示ができるようにする
# グラフを描くキャンバスとエリアを用意
fig, ax = plt.subplots()
📈 折れ線グラフを描こう(例:気温の変化)
# データ(曜日と気温)
days = ['月', '火', '水', '木', '金']
temps = [22, 24, 21, 23, 25]
# 折れ線グラフの描画
ax.plot(days, temps, label='気温', marker='o')
# ラベルとタイトル
ax.set_xlabel('曜日')
ax.set_ylabel('気温(℃)')
ax.set_title('今週の気温')
ax.legend()
ax.grid()
plt.show()
🔍 ポイント
marker='o'で線に「●」マークがつきますax.legend()で右上に「気温」と表示されます
📊 棒グラフを描こう(例:曜日別の売上)
days = ['月', '火', '水', '木', '金']
sales = [150, 200, 180, 220, 190]
ax.bar(days, sales, color='skyblue', label='売上')
ax.set_xlabel('曜日')
ax.set_ylabel('売上(円)')
ax.set_title('1週間の売上')
ax.legend()
ax.grid()
plt.show()
🔍 ポイント
ax.bar()は棒グラフを描く命令color='skyblue'で棒の色を変えられます
🔵 散布図を描こう(例:身長と体重)
heights = [150, 160, 165, 170, 180]
weights = [50, 55, 60, 65, 70]
ax.scatter(heights, weights)
ax.set_xlabel('身長(cm)')
ax.set_ylabel('体重(kg)')
ax.set_title('身長と体重の関係')
ax.grid()
plt.show()
🔍 ポイント
- 散布図は「バラバラの点」を表示するのに使います
- 2つの数字(例:身長と体重)の関係がよくわかります
📊 ヒストグラムを描こう(例:テストの点数分布)
scores = [70, 80, 75, 90, 60, 85, 95, 50, 65, 100]
ax.hist(scores, bins=5, color='orange', edgecolor='black')
ax.set_xlabel('点数')
ax.set_ylabel('人数')
ax.set_title('テストの点数分布')
ax.grid()
plt.show()
🔍 ポイント
bins=5で棒の数(点数のグループ数)を決められます- 棒の高さは、その点数帯に入っている人の数です
✅ まとめ
ここまでで、基本の4種類のグラフを描けるようになりました!
| グラフの種類 | 使うメソッド |
|---|---|
| 折れ線グラフ | ax.plot() |
| 棒グラフ | ax.bar() |
| 散布図 | ax.scatter() |
| ヒストグラム | ax.hist() |

それぞれの特徴を覚えて、データに合ったグラフを選んでいきましょう。
5. グラフをカスタマイズして見やすくしよう
さて、基本のグラフが描けるようになったら、
次は「もっと見やすく・かっこよく」するカスタマイズにチャレンジしましょう!
タイトルを付けたり、軸の名前を入れたり、色を変えたりできると、
見る人にとってもわかりやすくて親切なグラフになりますよ😊
🏷 軸ラベルをつけよう!
軸に何のデータがあるのか、しっかり説明しておくと、見る人がすぐに理解できます。
ax.set_xlabel('曜日') # 横軸ラベル
ax.set_ylabel('気温(℃)') # 縦軸ラベル
▶ set_xlabel()とset_ylabel()で、x軸とy軸のラベルがつけられます。
📝 グラフにタイトルをつけよう!
グラフ全体のタイトルも忘れずに!
ax.set_title('東京の気温(1週間)')
▶ 何を表しているグラフなのか、すぐ伝わるようにしよう!
🧭 凡例(ラベルの説明)を表示しよう!
グラフに複数の線や棒があるとき、それぞれが何かを説明するのが「凡例(Legend)」です。
ax.plot(x, y, label='最高気温') # 線に名前をつける
ax.legend() # 凡例を表示する
▶ label='〇〇' をつけておけば、legend()で自動表示できます。
🎨 色を変えて見やすく!
グラフの線や棒の色も、自分の好みに変えられます!
ax.plot(x, y, color='red') # 線の色を赤に
ax.bar(x, y, color='skyblue') # 棒の色を水色に
使える色の例:
'red'(赤)'green'(緑)'blue'(青)'black'(黒)'#FF00FF'(16進数でもOK!)
🔵 マーカーでポイントをわかりやすく!
折れ線グラフにマーク(マーカー)をつけると、値の位置が見やすくなります。
ax.plot(x, y, marker='o') # 丸
ax.plot(x, y, marker='^') # 三角
ax.plot(x, y, marker='s') # 四角
▶ marker= に記号を指定するだけ!
🧮 目盛り(ティック)をカスタマイズ!
目盛りの間隔や位置も、自分で設定できます。
ax.set_yticks([20, 22, 24, 26]) # y軸の目盛りを指定
▶ 大きすぎる数字や小数点が多いときに便利です。
🧵 フォントサイズを変えて見やすく!
文字が小さすぎると読みにくいので、全体のサイズを変えておくと親切です。
import matplotlib.pyplot as plt
plt.rc('font', size=14) # 全体のフォントサイズを変更
▶ タイトル・ラベル・目盛りなど、全部大きくなります。
🧱 グリッド(罫線)を追加しよう!
グリッド線があると、数値の位置がよりはっきりわかります。
ax.grid()
▶ とてもカンタンに追加できます!
✅ カスタマイズまとめ表
| やること | コマンド |
|---|---|
| 軸のラベル | set_xlabel(), set_ylabel() |
| タイトル | set_title() |
| 凡例(ラベル説明) | label=, legend() |
| 色の変更 | color='色名' |
| マーカー | marker='記号' |
| 目盛りの設定 | set_xticks(), set_yticks() |
| フォントサイズ調整 | plt.rc('font', size=数字) |
| グリッド追加 | ax.grid() |

グラフは見た目が大事!
ちょっとしたカスタマイズで、データが「伝わるグラフ」になります。
6. 複数のグラフを並べて表示する方法
Pythonでグラフを描いていると、「1つの画面にいくつもグラフを並べて見比べたい!」という場面が出てきますよね。
そんなときに便利なのが plt.subplots() という関数です!
これを使えば、1枚のキャンバスに2つ、4つ、6つ…と複数のグラフを並べて表示できます。
🧩 まずは2つのグラフを並べてみよう!
import matplotlib.pyplot as plt
import japanese_matplotlib
# 1行2列のグラフ配置(2つのグラフ)
fig, axes = plt.subplots(1, 2, figsize=(10, 4))
# 左側のグラフ(折れ線グラフ)
x = [1, 2, 3, 4, 5]
y1 = [2, 4, 6, 8, 10]
axes[0].plot(x, y1)
axes[0].set_title('左のグラフ')
# 右側のグラフ(棒グラフ)
y2 = [1, 3, 5, 7, 9]
axes[1].bar(x, y2)
axes[1].set_title('右のグラフ')
plt.tight_layout() # グラフが重ならないように調整
plt.show()
🔍 ポイント!
plt.subplots(1, 2)→ 1行2列のレイアウトaxes[0],axes[1]→ それぞれのグラフを指定figsize=(10, 4)→ 横10×縦4のサイズに調整
🔢 4つのグラフを2行2列で並べてみよう!
fig, axes = plt.subplots(2, 2, figsize=(12, 8))
# それぞれのグラフに好きなデータを描画
axes[0, 0].plot([1, 2, 3], [3, 2, 1])
axes[0, 0].set_title('グラフ1')
axes[0, 1].bar([1, 2, 3], [1, 4, 2])
axes[0, 1].set_title('グラフ2')
axes[1, 0].scatter([1, 2, 3], [3, 1, 2])
axes[1, 0].set_title('グラフ3')
axes[1, 1].hist([50, 60, 70, 80, 90], bins=5)
axes[1, 1].set_title('グラフ4')
plt.tight_layout()
plt.show()
🔍 axes[行, 列] のかたちでアクセスします!
たとえば:
| グラフ番号 | インデックス(アクセス方法) |
|---|---|
| 左上 | axes[0, 0] |
| 右上 | axes[0, 1] |
| 左下 | axes[1, 0] |
| 右下 | axes[1, 1] |
📏 グラフ全体のサイズを調整しよう
グラフが小さくて見づらいときは、figsize=(横, 縦) を指定して調整できます。
fig, axes = plt.subplots(2, 2, figsize=(15, 10))
🧠 どんなときに使うの?
- データを比較したいとき(例:去年と今年の売上)
- 同じ種類のグラフをまとめて見たいとき
- レポートや資料を作るとき

複数のグラフがひとつの画面にあると、ぱっと見て違いがわかるのでとっても便利です!
7. グラフを画像として保存する方法
グラフがうまく描けたら、「これを画像として保存したい!」って思いますよね?
レポートに使ったり、SNSでシェアしたり、先生に見せたり…いろんな場面で役立ちます。
そんなときに使えるのが、savefig() という命令です!
💾 グラフをPNGファイルとして保存する
まずは基本の保存方法から見てみましょう。
import matplotlib.pyplot as plt
import japanese_matplotlib
fig, ax = plt.subplots()
x = [1, 2, 3, 4, 5]
y = [10, 20, 15, 25, 30]
ax.plot(x, y)
ax.set_title('グラフの例')
# グラフを保存する
fig.savefig('sample_graph.png')
🔍 このコードを実行すると、「sample_graph.png」という画像ファイルが、
今作業しているフォルダの中に保存されます!
📂 保存ファイルの名前や場所を変える
画像のファイル名や保存先を変えたい場合は、パスを指定すればOKです。
fig.savefig('images/my_chart.png')
※ images というフォルダがあらかじめ作ってある場合はこのように使えます。
🖼 保存できる画像の形式いろいろ!
savefig()では、以下のような形式で保存できます。
| 拡張子 | 保存形式 | 用途 |
|---|---|---|
.png | 写真画像 | 一般的な画像ファイル。おすすめ! |
.jpg | 写真画像 | 軽いけど少し劣化あり |
.pdf | 印刷向け | 拡大してもキレイ。レポートなどに便利 |
.svg | ベクター画像 | 拡大しても画質が落ちない。イラスト向け |
例:
fig.savefig('graph.pdf') # PDF形式で保存
fig.savefig('graph.svg') # SVG形式で保存
✨ よくある注意ポイント
savefig()は、plt.show()の前に実行しましょう!
→plt.show()の後に書くと、画像が保存されないことがあります!- ファイル名に日本語を使うと文字化けすることも
→sample_graph.pngのように英数字が安心です。
✅ 保存の手順まとめ
- グラフを作る(
fig, ax = plt.subplots()) - 描画する(
ax.plot()など) fig.savefig('ファイル名.拡張子')で保存!

これで、あなたの作ったグラフを画像ファイルとして自由に活用できます!
レポートに貼ったり、プレゼン資料に使ったり、SNSで見せたり…
どんどんアウトプットしていきましょう📊✨
8. まとめ|Matplotlibでグラフ描画の第一歩を踏み出そう
ここまで読んでくださって、ありがとうございます!
Pythonでグラフを描く方法、少しずつ分かってきましたか?
Matplotlib(マットプロットリブ)は、最初こそちょっと難しく見えるかもしれませんが、
ひとつひとつ覚えていくと、「こんなことまでできるの!?」と感動するような場面がたくさん出てきます。
✨ この記事で学んだこと(おさらい)
✔ Matplotlibって何?基本の用語を理解
✔ Python環境&Jupyter Notebookの準備方法
✔ 折れ線・棒・散布図・ヒストグラムなどの描き方
✔ ラベルやタイトルなど、見やすくカスタマイズする方法
✔ 複数のグラフを並べる方法
✔ グラフを画像として保存する方法
🧠 こんなときに使える!
- テストの点数や売上などをグラフで見たいとき
- データの変化をわかりやすく伝えたいとき
- プレゼンや自由研究の資料にきれいな図を入れたいとき
よくある質問(Q&A)
- Qグラフに日本語を入れたら文字化けしました。どうすればいい?
- A
japanese_matplotlibというライブラリを使うと、日本語がきれいに表示されるようになります。
以下のようにインポートしましょう:import japanese_matplotlibこれだけでOKです!
- Qグラフを描いたのに、画面に何も表示されません!
- A
plt.show()を忘れていませんか?
Jupyter Notebookでは自動で表示されることもありますが、通常は以下のように書く必要があります:plt.show()
- QグラフをPNGで保存したけど、真っ白な画像になってました…
- A
plt.show()の前にsavefig()を実行してください!fig.savefig('graph.png') # ← 先に保存
plt.show() # ← 後で表示plt.show()の後に保存しようとすると、画像が空になってしまうことがあります。







※当サイトはアフィリエイト広告を利用しています。リンクを経由して商品を購入された場合、当サイトに報酬が発生することがあります。
※本記事に記載しているAmazon商品情報(価格、在庫状況、割引、配送条件など)は、執筆時点のAmazon.co.jp上の情報に基づいています。
最新の価格・在庫・配送条件などの詳細は、Amazonの商品ページをご確認ください。