Hoe de volgorde van elementen in de matplotlib-legenda te veranderen
U kunt het volgende stukje code gebruiken om de volgorde van elementen in een Matplotlib-legenda te wijzigen:
#get handles and labels handles, labels = plt. gca (). get_legend_handles_labels () #specify order of items in legend order = [1,2,0] #add legend to plot plt. legend ([handles[idx] for idx in order],[labels[idx] for idx in order])
Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.
Voorbeeld: verander de volgorde van elementen in de Matplotlib-legenda
Stel dat we het volgende lijndiagram in Matplotlib maken:
import pandas as pd import matplotlib. pyplot as plt #create data df = pd. DataFrame ({'points': [11, 17, 16, 18, 22, 25, 26, 24, 29], 'assists': [5, 7, 7, 9, 12, 9, 9, 4, 8], 'rebounds': [6, 8, 8, 10, 14, 12, 12, 10, 11]}) #add lines to plot plt. plot (df['points'], label='Points', color='green') plt. plot (df['assists'], label='Assists', color='steelblue') plt. plot (df['rebounds'], label='Rebounds', color='purple') #add legend plt. legend ()
De legenda-elementen worden geplaatst in de volgorde waarin we de lijnen aan de plot hebben toegevoegd.
We kunnen echter de volgende syntaxis gebruiken om de volgorde van de elementen in de legenda aan te passen:
import pandas as pd import matplotlib. pyplot as plt #create data df = pd. DataFrame ({'points': [11, 17, 16, 18, 22, 25, 26, 24, 29], 'assists': [5, 7, 7, 9, 12, 9, 9, 4, 8], 'rebounds': [6, 8, 8, 10, 14, 12, 12, 10, 11]}) #add lines to plot plt. plot (df['points'], label='Points', color='green') plt. plot (df['assists'], label='Assists', color='steelblue') plt. plot (df['rebounds'], label='Rebounds', color='purple') #get handles and labels handles, labels = plt. gca (). get_legend_handles_labels () #specify order of items in legend order = [1,2,0] #add legend to plot plt. legend ([handles[idx] for idx in order],[labels[idx] for idx in order])
Houd er rekening mee dat we het volgende hebben gespecificeerd:
- bestelling = [1, 2, 0]
Dat betekent:
- Het eerste item in de legenda moet het label zijn dat oorspronkelijk op indexpositie 1 van de oude legenda stond („Helps“).
- Het tweede element van de legenda moet het label zijn dat oorspronkelijk op indexpositie 2 van de oude legenda stond („Bounces“)
- Het derde element van de legenda moet het label zijn dat oorspronkelijk op indexpositie 0 van de oude legenda stond („Punten“)
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende bewerkingen in Matplotlib kunt uitvoeren:
Hoe de positie van een legenda in Matplotlib te veranderen
Hoe de legenda buiten een Matplotlib-plot te plaatsen
Hoe de lettergrootte van de legenda in Matplotlib te wijzigen