FigureとAxes
CoddyのMachine Learningジャーニー「データとプロット」セクションの一部。レッスン 24/60。
実際のコードでは、描画するグラフに名前を付けます。plt.subplots()は2つのものを返します。全体の図であるfigureと、その中にあるグラフであるaxesです。
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によってどのグラフを指しているかがわかります。これからは、すべてのグラフをこの方法で始めます。
チャレンジ
中級スターターコードは、plt関数を使ってライブラリの7つの支館をグラフにします。支館ごとに点を1つ描きます。これをax形式に書き換えましょう。
fig, ax = plt.subplots()から始めます。- 点を描き、タイトルと両方のラベルを、同じテキストで
axメソッドを使って設定します。 - 古い
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()
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
データとプロットのすべてのレッスン
自分で練習してみよう: Pythonオンラインコンパイラ