Matplotlib で凡例を削除する方法

Suraj Joshi 2023年1月30日 2020年6月12日
  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 の凡例を削除

Author: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

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

LinkedIn

関連記事 - Matplotlib Legend