Een handmatige legenda maken in matplotlib (met voorbeeld)
U kunt de functies van de submodules matplotlib.lines en matplotlib.patches gebruiken om een handmatige legenda in een matplotlib-plot te maken.
Het volgende voorbeeld laat zien hoe u dit doet.
Voorbeeld: maak een handmatige legenda in Matplotlib
De volgende code laat zien hoe u een spreidingsdiagram maakt in matplotlib met een standaardlegenda:
import matplotlib. pyplot as plt
#define data to plot
x = [1, 2, 3, 4, 5, 6, 7]
y = [2, 3, 5, 8, 12, 18, 27]
#create scatter plot of x vs. y
plt. scatter (x, y, label=' Original Data ', color=' steelblue ')
#add legend
plt. legend ()
#displayplot
plt. show ()
Om een handmatige legenda met aangepaste lijnen en vierkanten te maken, moeten we de submodules matplotlib.lines en matplotlib.patches importeren.
De volgende code laat zien hoe u deze submodules kunt gebruiken om een handmatige legenda te maken:
import matplotlib. pyplot as plt
from matplotlib. lines import Line2D
import matplotlib. patches as mpatches
#define data to plot
x = [1, 2, 3, 4, 5, 6, 7]
y = [2, 3, 5, 8, 12, 18, 27]
#create scatter plot of x vs. y
plt. scatter (x, y, label=' Original Data ', color=' steelblue ')
#define handles and labels that will get added to legend
handles, labels = plt. gca (). get_legend_handles_labels ()
#define patches and lines to add to legend
patch1 = mpatches. Patch (color=' orange ', label=' First Manual Patch ')
patch2 = mpatches. Patch (color=' orange ', label=' First Manual Patch ')
line1 = Line2D([0], [0], label=' First Manual Line ', color=' purple ')
line2 = Line2D([0], [0], label=' Second Manual Line ', color=' red ')
#add handles
handles. extend ([patch1, line1, line2])
#add legend
plt. legend (handles=handles)
#displayplot
plt. show ()
Merk op dat deze legenda het label van de originele gegevens bevat, maar ook de labels en vormen van de elementen die we handmatig hebben toegevoegd.
Om de labels of kleuren van een van de elementen te wijzigen, wijzigt u eenvoudig de waarden van de label- en kleurargumenten in het vorige stuk code.
Opmerking : raadpleeg deze tutorial om te leren hoe u de positie van de legenda in de plot kunt wijzigen.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in Matplotlib kunt uitvoeren:
Hoe de plotgrootte in Matplotlib te vergroten
Hoe de titelpositie in Matplotlib aan te passen
Hoe asbereiken in Matplotlib in te stellen