Matplotlib で凡例を削除する方法

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

legend オブジェクトの remove() メソッドと set_visible() メソッドを使用して、Matplotlib の図から凡例を削除できます。また、plot() メソッドで label_nolegend_ に、axes.legendNone に、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()

出力:

remove メソッドを使用して Matplotlib の凡例を削除する

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()

出力:

set_visible メソッドを使用して Matplotlib の凡例を削除する

このメソッドは、実際には凡例を非表示に設定しますが、凡例を削除しません。

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()

出力:

凡例引数を使​​用して Matplotlib の凡例を削除

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()

出力:

軸オブジェクトの凡例属性をなしに設定する Matplotlib の凡例を削除

著者: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

関連記事 - Matplotlib Legend