Menu
CoddyTech

FigureとAxes

CoddyのMachine Learningジャーニー「データとプロット」セクションの一部。レッスン 24/60。

実際のコードでは、描画するグラフに名前を付けます。plt.subplots()は2つのものを返します。全体の図であるfigureと、その中にあるグラフであるaxesです。

図:figと記された灰色のボックス(図全体)の中に、axと記された青いボックス(グラフ)がある。ax.set_titleはその上、ax.set_xlabelは下、ax.set_ylabelは左にあり、ax.plotは中に線を描く

fig, ax =は両方を受け取ります。その後はすべてaxに対して行います。

years = [2021, 2022, 2023, 2024]
members = [35, 48, 61, 59]
fig, ax = plt.subplots()
ax.plot(years, members)
ax.set_title("Club Members")
ax.set_xlabel("Year")
ax.set_ylabel("Members")
plt.show()

描画メソッドの名前はそのままです:ax.plot、ax.scatter、ax.legend。テキストのメソッドにはset_が付きます。

なぜそうするのでしょうか? まもなく1つの図に複数のグラフが表示され、axによってどのグラフを指しているかがわかります。これからは、すべてのグラフをこの方法で始めます。

challenge icon

チャレンジ

中級

スターターコードは、plt関数を使ってライブラリの7つの支館をグラフにします。支館ごとに点を1つ描きます。これをax形式に書き換えましょう。

  1. fig, ax = plt.subplots()から始めます。
  2. 点を描き、タイトルと両方のラベルを、同じテキストでaxメソッドを使って設定します。
  3. 古いpltの行を削除し、plt.show()は残します。

グラフは同じままで、変わるのはコードだけです。スターターコードのレポートにはDrawn with fig and ax: noと表示されています。あなたのコードでは、次のように表示されるはずです。

Charts drawn: 1
Drawn with fig and ax: yes
Title: Library Branches
X label: Hours open per week
Y label: Loans per week
Lines: 0
Dots: 7
Across (x): [30, 45, 38, 52, 24, 60, 41]
Up (y): [410, 690, 520, 800, 300, 930, 610]

自分で試してみよう

import matplotlib.pyplot as plt

# 市立図書館の各分館につき1つの値
hours = [30, 45, 38, 52, 24, 60, 41]
loans = [410, 690, 520, 800, 300, 930, 610]

# fig, ax = plt.subplots() と ax のメソッドを使って、このグラフを書き直す
plt.scatter(hours, loans)
plt.title("Library Branches")
plt.xlabel("Hours open per week")
plt.ylabel("Loans per week")
plt.show()
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

データとプロットのすべてのレッスン

自分で練習してみよう: Pythonオンラインコンパイラ