HOWTO · Matplotlib
Matplotlib で凡例を削除する方法
get_legend().remove()および set_visible()メソッドを使用して、Matplotlib の図から凡例を削除できます。plot()メソッドで凡例を_nolegend_に設定し、axes.legend を None に、figure.legends を空のリストに設定することで、Matplotlib の図から凡例を削除することもできます。
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()
出力: