
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Get All Legends from a Plot in Matplotlib
To get all the legends from a plot in matplotlib, we can use the get_children() method to get all the properties of an axis, then iterate all the properties. If an item is an instance of a Legend, then get the legend texts.
steps
Set the figure size and adjust the padding between and around the subplots.
Create x data points using numpy.
Create a figure and a set of subplots.
Plot sin(x) and cos(x) using plot() method with different labels and colors.
Get the children of the axis and get the texts of the legend.
To display the figure, use show() method.
Example
import numpy as np from matplotlib import pyplot as plt import matplotlib plt.rcParams["figure.figsize"] = [7.50, 3.50] plt.rcParams["figure.autolayout"] = True x = np.linspace(-10, 10, 100) fig, ax = plt.subplots() ax.plot(np.sin(x), color='red', lw=7, label="y=sin(x)") ax.plot(np.cos(x), color='orange', lw=7, label="y=cos(x)") plt.legend(loc='upper right') for item in ax.get_children(): if isinstance(item, matplotlib.legend.Legend): print(item.texts) plt.show()
Output
Advertisements