'Remove legend key in matplotlib
Solution 1:[1]
First of all, you may decide not to create a legend at all and instead put some label in to corner of the plot.
import matplotlib.pyplot as plt
import numpy as np
x = np.random.normal(size=160)
plt.hist(x)
plt.text(0.95,0.95, 'something', ha="right", va="top", transform=plt.gca().transAxes)
plt.show()
If you already created the legend and want to remove it, you can do so by
plt.gca().get_legend().remove()
and then add the text instead.
If this is not an option, you may set the legend handle invisible like so:
import matplotlib.pyplot as plt
import numpy as np
x = np.random.normal(size=160)
plt.hist(x, label = 'something')
plt.legend()
leg = plt.gca().get_legend()
leg.legendHandles[0].set_visible(False)
plt.show()
Solution 2:[2]
Following the matplotlib docs, you can change the handlelength
and handletextpad
parameters to remove the handle and the space behind the label text
import matplotlib.pyplot as plt
import numpy as np
x = np.random.normal(size=160)
plt.hist(x, label = 'something')
plt.legend(handlelength=0, handletextpad=0, loc='upper right')
plt.show()
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | ImportanceOfBeingErnest |
Solution 2 | Medulla Oblongata |