Jak utworzyć ręczną legendę w matplotlib (z przykładem)


Możesz użyć funkcji podmodułów matplotlib.lines i matplotlib.patches , aby utworzyć ręczną legendę na wykresie matplotlib.

Poniższy przykład pokazuje, jak to zrobić.

Przykład: utwórz ręczną legendę w Matplotlib

Poniższy kod pokazuje, jak utworzyć wykres rozrzutu w matplotlib z domyślną legendą:

 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 () 

Aby utworzyć ręczną legendę z niestandardowymi liniami i kwadratami, musimy zaimportować podmoduły matplotlib.lines i matplotlib.patches .

Poniższy kod pokazuje, jak używać tych podmodułów do tworzenia ręcznej legendy:

 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 () 

Legenda podręcznika Matplotlib

Pamiętaj, że ta legenda zawiera etykietę oryginalnych danych, ale także etykiety i kształty elementów, które dodaliśmy ręcznie.

Aby zmienić etykiety lub kolory któregokolwiek z elementów, wystarczy zmienić wartości etykiety i argumentów koloru w poprzednim fragmencie kodu.

Uwaga : zapoznaj się z tym samouczkiem , aby dowiedzieć się, jak zmienić położenie legendy na wykresie.

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w Matplotlib:

Jak zwiększyć rozmiar działki w Matplotlib
Jak dostosować pozycję tytułu w Matplotlib
Jak ustawić zakresy osi w Matplotlib

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *