Matplotlib で凡例を削除する方法
Suraj Joshi
2023年1月30日
Matplotlib
Matplotlib Legend
-
matplotlib.axes.Axes.get_legend().remove()
メソッド -
matplotlib.axes.Axes.get_legend().set_visible()
-
matplotlib.axes.Axes.plot()
メソッドのlabel=nolegend
引数 -
Axes オブジェクトの
legend_
属性をNone
に設定する

legend
オブジェクトの remove()
メソッドと set_visible()
メソッドを使用して、Matplotlib の図から凡例を削除できます。また、plot()
メソッドで label
を _nolegend_
に、axes.legend
を None
に、figure.legends
を空のリスト
に設定することで、Matplotlib の図から凡例を削除することもできます。
matplotlib.axes.Axes.get_legend().remove()
メソッド
matplotlib.axes.Axes.get_legend().remove()
メソッドを使用して、Matplotlib の図から凡例を削除できます。
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-3, 3, 100)
y1 = np.exp(x)
y2 = 3 * x + 2
fig, ax = plt.subplots(figsize=(8, 6))
ax.plot(x, y1, c="r", label="expoential")
ax.plot(x, y2, c="g", label="Straight line")
leg = plt.legend()
ax.get_legend().remove()
plt.show()
出力:
matplotlib.axes.Axes.get_legend().set_visible()
False
を引数として matplotlib.axes.Axes.get_legend().set_visible()
メソッドに渡すと、Matplotlib の図から凡例を削除できます。
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-3, 3, 100)
y1 = np.exp(x)
y2 = 3 * x + 2
fig, ax = plt.subplots(figsize=(8, 6))
ax.plot(x, y1, c="r", label="expoential")
ax.plot(x, y2, c="g", label="Straight line")
leg = plt.legend()
ax.get_legend().set_visible(False)
plt.show()
出力:
このメソッドは、実際には凡例を非表示に設定しますが、凡例を削除しません。
matplotlib.axes.Axes.plot()
メソッドの label=nolegend
引数
matplotlib.axes.Axes.plot()
メソッドの引数として label = nolegend
を渡すと、Matplotlib の図から凡例が削除されます。
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-3, 3, 100)
y1 = np.exp(x)
y2 = 3 * x + 2
fig, ax = plt.subplots(figsize=(8, 6))
leg = plt.legend()
ax.plot(x, y1, c="r", label="_nolegend_")
ax.plot(x, y2, c="g", label="_nolegend_")
plt.show()
出力:
Axes オブジェクトの legend_
属性を None
に設定する
Axes オブジェクトの legend_
属性を None
に設定すると、Matplotlib の図から凡例が削除されます。
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-3, 3, 100)
y1 = np.exp(x)
y2 = 3 * x + 2
fig, ax = plt.subplots(figsize=(8, 6))
leg = plt.legend()
ax.plot(x, y1, c="r", label="expoential")
ax.plot(x, y2, c="g", label="Straight line")
plt.gca.legend_ = None
plt.show()
出力:
チュートリアルを楽しんでいますか? <a href="https://www.youtube.com/@delftstack/?sub_confirmation=1" style="color: #a94442; font-weight: bold; text-decoration: underline;">DelftStackをチャンネル登録</a> して、高品質な動画ガイドをさらに制作するためのサポートをお願いします。 Subscribe
著者: Suraj Joshi
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn