Zum Hauptinhalt springen
Strg+K
Matplotlib 3.10.3 documentation - Home
  • Plot-Typen
  • Benutzerhandbuch
  • Tutorials
  • Beispiele
  • Referenz
  • Beitragen
  • Releases
  • Gitter
  • Discourse
  • GitHub
  • Twitter
  • Plot-Typen
  • Benutzerhandbuch
  • Tutorials
  • Beispiele
  • Referenz
  • Beitragen
  • Releases
  • Gitter
  • Discourse
  • GitHub
  • Twitter

Abschnittsnavigation

  • Linien, Balken und Markierungen
    • Unendliche Linien
    • Balkendiagramm mit einzelnen Balkenfarben
    • Balkendiagramm mit Beschriftungen
    • Gestapeltes Balkendiagramm
    • Gruppiertes Balkendiagramm mit Beschriftungen
    • Horizontales Balkendiagramm
    • Unterbrochene horizontale Balken
    • CapStyle
    • Darstellung kategorialer Variablen
    • Darstellung der Kohärenz zweier Signale
    • Kreuzspektraldichte (CSD)
    • Kurve mit Fehlerband
    • Auswahl der Fehlerbalkengrenze
    • Subsampling von Fehlerbalken
    • EventCollection Demo
    • Eventplot Demo
    • Gefülltes Polygon
    • fill_between mit Transparenz
    • Fülle den Bereich zwischen zwei Linien
    • Fülle den Bereich zwischen zwei vertikalen Linien
    • Balkendiagramm mit Farbverläufen
    • Hut-Graph
    • Diskrete Verteilung als horizontales Balkendiagramm
    • JoinStyle
    • Konfiguration von gestrichelten Linienstilen
    • Linien mit einem getickten Pfad-Effekt
    • Linienstile
    • Markierungsreferenz
    • Markevery Demo
    • Darstellung maskierter und NaN-Werte
    • Mehrfarbige Linien
    • Abbildung von Markereigenschaften auf multivariate Daten
    • Leistungsspektraldichte (PSD)
    • Scatter Demo2
    • Streudiagramm mit Histogrammen
    • Streudiagramm mit maskierten Werten
    • Marker-Beispiele
    • Streudiagramm mit Legende
    • Liniendiagramm
    • Bereiche schattieren, die durch eine logische Maske definiert sind, unter Verwendung von fill_between
    • Spektraldarstellungen
    • Stackplots und Streamgraphen
    • Stairs Demo
    • Stamm-Plot
    • Step Demo
    • Zeitleiste mit Linien, Daten und Text
    • hlines und vlines
    • Kreuz- und Autokorrelation
  • Bilder, Konturen und Felder
    • Affine Transformation eines Bildes
    • Windbarben
    • Barcode
    • Interaktive Anpassung des Farbskalenbereichs
    • Farbskalennormalisierungen
    • Farbskalennormalisierungen SymLogNorm
    • Kontureckenmaske
    • Kontur Demo
    • Konturbild
    • Konturbeschriftungs-Demo
    • Konturfüllungs-Demo
    • Konturfüllung mit Schraffur
    • Konturfüllung und logarithmische Farbskala
    • Konturierung der Lösungsräume von Optimierungen
    • BboxImage Demo
    • Figimage Demo
    • Annotierte Heatmap
    • Bild-Resampling
    • Bilder mit Patches beschneiden
    • Viele Möglichkeiten, Bilder darzustellen
    • Bild mit maskierten Werten
    • Nicht-uniformes Bild
    • Transparenz mit Farbe in 2D-Bildern mischen
    • Modifizierung des Koordinatenformats
    • Interpolationen für imshow
    • Konturplot von unregelmäßig verteilten Daten
    • Bilder überlagern mit Alpha-Blending
    • Matrizen mit matshow visualisieren
    • Mehrere Bilder mit einer Farbleiste
    • pcolor-Bilder
    • pcolormesh-Gitternetze und Schattierung
    • pcolormesh
    • Streamplot
    • QuadMesh Demo
    • Fortgeschrittene Quiver- und Quiverkey-Funktionen
    • Quiver Simple Demo
    • Schattierungsbeispiel
    • Spektrogramm
    • Spy Demos
    • Tricontour Demo
    • Tricontour Smooth Delaunay
    • Tricontour Smooth User
    • Trigradient Demo
    • Triinterp Demo
    • Tripcolor Demo
    • Triplot Demo
    • Wasserzeichenbild
  • Subplots, Achsen und Figuren
    • Beschriftungen und Titel ausrichten
    • Subplot-Anpassung programmatisch steuern
    • Achsen-Box-Seitenverhältnis
    • Achsen Demo
    • Ansichtsgrenzen mit Rändern und sticky_edges steuern
    • Achsen-Eigenschaften
    • Achsen-Zoom-Effekt
    • Bereiche zeichnen, die eine Achse überspannen
    • Gleiches Achsen-Seitenverhältnis
    • Position der Achsenbeschriftung
    • Unterbrochene Achse
    • Benutzerdefinierte Figure-Unterklassen
    • Achsen mit angepasstem Layout skalieren
    • Achsen mit engem Layout skalieren
    • Unterschiedliche Skalen auf derselben Achse
    • Figurgröße in verschiedenen Einheiten
    • Figuren-Beschriftungen: suptitle, supxlabel, supylabel
    • Benachbarte Subplots
    • Geografische Projektionen
    • Zwei Subplots mit subplots und GridSpec kombinieren
    • GridSpec mit variablen Größen und Abständen
    • Gridspec für Subplot-Layouts mit mehreren Spalten/Zeilen
    • Verschachtelte Gridspecs
    • Invertierte Achse
    • Mehrere Figuren in pyplot verwalten
    • Sekundäre Achse
    • Achsen-Limits und Ansichten teilen
    • Gemeinsame Achse
    • Figuren-Subfiguren
    • Mehrere Subplots
    • subplot2grid
    • Abstände und Ränder von Subplots
    • Mehrere Subplots mit plt.subplots erstellen
    • Diagramme mit unterschiedlichen Skalen
    • Zoom-Bereich in der Achsen-Inset
  • Statistik
    • Künstler-Anpassung in Boxplots
    • Boxplots mit benutzerdefinierten Füllfarben
    • Boxplots
    • Vergleich von Boxplot und Violinplot
    • Getrennte Berechnung und Darstellung von Boxplots
    • Darstellung einer Konfidenzellipse eines zweidimensionalen Datensatzes
    • Violinplot-Anpassung
    • Errorbar-Funktion
    • Verschiedene Arten der Fehlerbalkenspezifikation
    • Einbeziehung von Ober- und Untergrenzen in Fehlerbalken
    • Erstellung von Boxen aus Fehlerbalken mit PatchCollection
    • Hexagonales biniertes Diagramm
    • Histogramme
    • Bihistogramm
    • Kumulative Verteilungen
    • Demo der verschiedenen histtype-Einstellungen der Histogrammfunktion
    • Die Histogrammfunktion (hist) mit mehreren Datensätzen
    • Histogramm-Bins, Dichte und Gewicht
    • Mehrere Histogramme nebeneinander
    • Zeitreihen-Histogramm
    • Grundlagen des Violinplots
  • Kreis- und Polardiagramme
    • Kreisdiagramme
    • Balken eines Kreises
    • Verschachtelte Kreisdiagramme
    • Ein Kreis und ein Donut mit Beschriftungen
    • Balkendiagramm auf Polarachse
    • Polarplot
    • Fehlerbalkenanzeige auf Polarachse
    • Polar-Legende
    • Streudiagramm auf Polarachse
  • Text, Beschriftungen und Annotationen
    • Akzentuierter Text
    • Y-Achsenbeschriftungen ausrichten
    • Skaleninvariante Winkelbeschriftung
    • Winkelannotationen auf Klammerpfeilen
    • Annotationstransformation
    • Ein Diagramm annotieren
    • Diagramme annotieren
    • Polar-Diagramme annotieren
    • Pfeil Demo
    • Text automatisch umbrechen
    • Benutzerdefinierte Legenden erstellen
    • Datums-Tick-Beschriftungen
    • AnnotationBbox Demo
    • Text als Pfad verwenden
    • Textrotationsmodus
    • Der Unterschied zwischen \dfrac und \frac
    • Ticks mit Ingenieurnotation formatieren
    • Referenz für Pfeilstil von Annotationen
    • Textfelder gestalten
    • Figuren-Legenden-Demo
    • Schriftfamilie konfigurieren
    • Verwendung von TTF-Schriftdateien
    • Schriftartentabelle
    • Schriftartendemo (objektorientierter Stil)
    • Schriftartendemo (Schlüsselwortargumente)
    • Subplots beschriften
    • Legende mit vordefinierten Beschriftungen
    • Legenden-Demo
    • Künstler innerhalb eines Künstlers
    • Texte in Bilder umwandeln
    • Mathtext
    • Mathematische Ausdrücke
    • Mathe-Schriftfamilie
    • Mehrzeilig
    • Textfelder platzieren
    • Textobjekte mit unterschiedlichen Eigenschaften verketten
    • STIX-Schriften
    • Mathematische Ausdrücke mit TeX rendern
    • Textausrichtung
    • Texteigenschaften
    • Stil von Text und Beschriftungen mit einem Wörterbuch steuern
    • Textrotation Winkel in Datenkoordinaten
    • Titelpositionierung
    • Unicode-Minus
    • Grundlinie für Usetex-Text
    • Usetex-Schrift-Effekte
    • Text-Wasserzeichen
  • Farbe
    • Farb-Demo
    • Nach y-Wert färben
    • Farben im Standard-Eigenschaftskreislauf
    • Benannte Farbschemata
    • Farbleiste
    • Farbskalen-Referenz
    • Eine Farbskala aus einer Liste von Farben erstellen
    • Einzelne Farben aus einer Farbskala auswählen
    • Liste benannter Farben
    • Möglichkeiten, den Alpha-Wert einer Farbe einzustellen
  • Formen und Sammlungen
    • Pfeilführer
    • Referenz für Matplotlib-Künstler
    • Linien-, Poly- und RegularPoly-Sammlung mit Autoskalierung
    • Zusammengesetzter Pfad
    • Delfine
    • Mmh Donuts!!!
    • Ellipse mit Ausrichtungspfeil-Demo
    • Ellipse-Sammlung
    • Ellipse Demo
    • Zeichnen von schicken Boxen
    • Hatch-Demo
    • Schraffur-Stilreferenz
    • Mehrere Linien mit einer LineCollection darstellen
    • Kreise, Keile und Polygone
    • PathPatch-Objekt
    • Bézier-Kurve
    • Streudiagramm
  • Stilvorlagen
    • Bayesian Methods for Hackers Stilvorlage
    • Stilvorlage mit dunklem Hintergrund
    • FiveThirtyEight Stilvorlage
    • ggplot Stilvorlage
    • Graustufen-Stilvorlage
    • Petroff10 Stilvorlage
    • Solarized Light Stilvorlage
    • Stilvorlagen-Referenz
  • Modul — pyplot
    • Einfacher Plot
    • Text und Mathtext mit pyplot
    • Mehrere Linien mit pyplot
    • Zwei Subplots mit pyplot
  • Modul — axes_grid1
    • Verankerter Richtungspfeil
    • Achsen-Teiler
    • Achsenraster-Demo
    • Achsenraster2
    • HBoxDivider und VBoxDivider Demo
    • RGB-Kanäle mit RGBAxes anzeigen
    • Farbleiste mit Achsen-Teiler
    • Position und Größe einer Farbleiste mit Inset Axes steuern
    • Farbleisten pro Zeile oder Spalte
    • Achsen mit fester physischer Größe
    • ImageGrid-Zellen mit festem Seitenverhältnis
    • Inset Locator Demo
    • Inset Locator Demo 2
    • Platz für Y-Achsenbeschriftung mit axes_grid schaffen
    • Parasite Simple
    • Parasite Simple2
    • Histogramm an Streudiagramm ausrichten mit locatable Axes
    • Einfache verankerte Künstler
    • Einfacher Achsen-Teiler 1
    • Einfacher Achsen-Teiler 3
    • Einfaches ImageGrid
    • Einfaches ImageGrid 2
    • Einfache Achsenlinie4
  • Modul — axisartist
    • Achsenrichtung
    • axis_direction Demo
    • Achsenlinien-Stile
    • Kruimliengitter-Demo
    • Demo CurveLinear Grid2
    • Features von floating_axes
    • floating_axis Demo
    • Parasite Achsen-Demo
    • Parasite Achsen-Demo
    • Ticklabel-Ausrichtung
    • Ticklabel-Richtung
    • Einfache Achsenrichtung
    • Einfache Achsen-Tick-Beschriftung und Tick-Richtungen
    • Einfacher Achsen-Pad
    • Benutzerdefinierte Spines mit axisartist
    • Einfache Achsenlinie
    • Einfache Achsenlinie3
  • Showcase
    • Anatomie einer Figur
    • Firefox
    • Integral als Fläche unter einer Kurve
    • Beschattierte & Leistungsnormalisierte Darstellung
    • Pan/Zoom-Ereignisse überlappender Achsen
    • Aktienkurse über 32 Jahre
    • XKCD
  • Animation
    • Zerfall
    • Animiertes Histogramm
    • pyplot Animation
    • Die Bayes-Aktualisierung
    • Das Problem des doppelten Pendels
    • Animiertes Bild mit einer vorkompilierten Bildliste
    • Frame-Erfassung
    • Animation mehrerer Achsen
    • Animation pausieren und fortsetzen
    • Regensimulation
    • Animierter 3D-Zufallspfad
    • Animiertes Liniendiagramm
    • Animiertes Streudiagramm als GIF gespeichert
    • Oszilloskop
    • Matplotlib entfesselt
  • Ereignisbehandlung
    • Schließen-Ereignis
    • Mausbewegungs- und Klickereignisse
    • Fadenkreuz-Cursor
    • Datenbrowser
    • Figuren/Achsen Enter- und Leave-Ereignisse
    • Interaktive Funktionen
    • Scroll-Ereignis
    • Tastendruck-Ereignis
    • Lasso Demo
    • Legenden-Picking
    • Lupe
    • Pfadeditor
    • Pick-Ereignis Demo
    • Pick-Ereignis Demo 2
    • Polygon-Editor
    • Pong
    • Daten-Resampling
    • Timer
    • Trifinder Event Demo
    • Viewlims
    • Zoom modifiziert andere Achsen
  • Sonstiges
    • Verankerte Künstler
    • Ermitteln, ob Künstler sich überschneiden
    • Manuelle Kontur
    • Koordinatenbericht
    • Benutzerdefinierte Projektion
    • Rc anpassen
    • AGG-Filter
    • Bandbox
    • Linien direkt zu einer Figur hinzufügen
    • Spiralfüllung
    • Findobj Demo
    • Schriftart-Indizierung
    • Schriftarteigenschaften
    • Histogramme mit Rechtecken und PolyCollections erstellen
    • Hyperlinks
    • Bild-Miniaturansicht
    • Darstellung mit Schlüsselwörtern
    • Matplotlib-Logo
    • Mehrseitige PDF
    • Multiprocessing
    • Gepacktes Blasendiagramm
    • Patheffect Demo
    • Bild auf Standardausgabe drucken
    • Rasterisierung für Vektorgrafiken
    • Eigenschaften setzen und abrufen
    • SVG-Filter auf eine Linie anwenden
    • SVG-Filter Kreis
    • Tabellen-Demo
    • TickedStroke Patheffect
    • transforms.offset_copy
    • Zorder Demo
  • 3D-Darstellung
    • 2D-Daten in 3D-Diagramm darstellen
    • Demo von 3D-Balkendiagrammen
    • Daten auf Achsen-Ansichtslimits beschneiden
    • 2D-Balkendiagramme in verschiedenen Ebenen erstellen
    • 3D-Box-Oberflächendiagramm
    • Kontur- (Level-) Kurven in 3D darstellen
    • Kontur- (Level-) Kurven in 3D mit der Option extend3d darstellen
    • Konturprofile auf ein Diagramm projizieren
    • Gefüllte Konturen
    • Gefüllte Kontur auf ein Diagramm projizieren
    • Benutzerdefinierte Hillshading in einem 3D-Oberflächendiagramm
    • 3D-Fehlerbalken
    • Zwischen 3D-Linien füllen
    • Unter 3D-Liniendiagrammen füllen
    • 3D-Histogramm von 2D-Daten erstellen
    • 2D-Bilder in 3D
    • Sich schneidende Ebenen
    • Parametrische Kurve
    • Lorenz-Attraktor
    • 2D- und 3D-Achsen in derselben Figur
    • Automatische Textverschiebung
    • Flache Objekte in 3D-Diagramm zeichnen
    • 3D-Polygone generieren
    • 3D-Diagramm-Projektionstypen
    • 3D-Quiver-Diagramm
    • 3D-Diagramm drehen
    • 3D-Streudiagramm
    • 3D-Stamm
    • 3D-Diagramme als Subplots
    • 3D-Oberfläche (Farbskala)
    • 3D-Oberfläche (Volltonfarbe)
    • 3D-Oberfläche (Karomuster)
    • 3D-Oberfläche mit Polarkoordinaten
    • Textannotationen in 3D
    • Dreieckiges 3D-Konturdiagramm
    • Dreieckiges 3D-Konturdiagramm mit Füllung
    • Dreieckige 3D-Oberflächen
    • Weitere dreieckige 3D-Oberflächen
    • Primäre 3D-Ansichtsebenen
    • 3D-Voxel / Volumetrisches Diagramm
    • 3D-Voxel-Diagramm des NumPy-Logos
    • 3D-Voxel / Volumetrisches Diagramm mit RGB-Farben
    • 3D-Voxel / Volumetrisches Diagramm mit zylindrischen Koordinaten
    • 3D-Drahtgitter-Diagramm
    • Animation eines 3D-Drahtgitter-Diagramms
    • 3D-Drahtgitter-Diagramme in einer Richtung
  • Skalen
    • Skalenübersicht
    • Asinh-Skala
    • Loglog-Seitenverhältnis
    • Benutzerdefinierte Skala
    • Log-Skala
    • Logit-Skala
    • Normalisierungen erforschen
    • Symlog-Skala
  • Spezialdiagramme
    • Hillshading
    • Anscombe's Quartett
    • Hinton-Diagramme
    • Ishikawa-Diagramm
    • Linksventrikuläres Bullseye
    • MRT mit EEG
    • Radardiagramm (auch Spinnen- oder Sternendiagramm genannt)
    • Die Sankey-Klasse
    • Lange Verbindungskette mit Sankey
    • Rankine-Kreisprozess
    • SkewT-LogP-Diagramm: Verwendung von Transformationen und benutzerdefinierten Projektionen
    • Topografisches Hillshading
  • Spines
    • Spines
    • Spine-Platzierung
    • Abgefallene Spines
    • Mehrere Y-Achsen mit Spines
    • Zentrierte Spines mit Pfeilen
  • Ticks
    • Automatische Einstellung der Tick-Positionen
    • Beschriftungen zwischen Ticks zentrieren
    • Farbleisten-Tick-Beschriftung
    • Benutzerdefinierter Ticker
    • Datums-Ticks mit ConciseDateFormatter formatieren
    • Datums-Demo-Konvertierung
    • Platzierung von Datums-Ticks nach Wiederholungsregeln
    • Datums-Tick-Lokalisierer und Formatierer
    • Benutzerdefinierter Tick-Formatierer für Zeitreihen
    • Datumspräzision und Epochen
    • Dollar-Ticks
    • SI-präfixierte Offsets und natürliche Größenordnungen
    • Einfache Anpassung von Fig-Achsen
    • Haupt- und Nebenticks
    • Mehrstufige (verschachtelte) Ticks
    • Der Standard-Tick-Formatierer
    • Tick-Formatierer
    • Tick-Lokalisierer
    • Standard-Y-Achsen-Tick-Beschriftungen rechts einstellen
    • Tick-Beschriftungen aus einer Werteliste einstellen
    • X-Achsen-Tick-Beschriftungen nach oben verschieben
    • Rotierte Tick-Beschriftungen
    • Zu viele Ticks beheben
  • Einheiten
    • Annotation mit Einheiten
    • Künstlertests
    • Balken-Demo mit Einheiten
    • Gruppenbalkendiagramm mit Einheiten
    • Grundeinheiten
    • Ellipse mit Einheiten
    • Evans-Test
    • Bogenmaß-Ticks
    • Zoll und Zentimeter
    • Einheitenbehandlung
  • Matplotlib in grafische Benutzeroberflächen einbetten
    • CanvasAgg Demo
    • Einbettung in GTK3 mit Navigationswerkzeugleiste
    • Einbettung in GTK3
    • Einbettung in GTK4 mit Navigationswerkzeugleiste
    • Einbettung in GTK4
    • Einbettung in Qt
    • Einbettung in Tk
    • Einbettung in wx #2
    • Einbettung in wx #3
    • Einbettung in wx #4
    • Einbettung in wx #5
    • WebAgg einbetten
    • Fourier Demo WX
    • GTK3 Tabellenkalkulation
    • GTK4 Tabellenkalkulation
    • Mathtext in WX anzeigen
    • Matplotlib mit Glade 3
    • mplcvd — ein Beispiel für einen Figure Hook
    • pyplot mit GTK3
    • pyplot mit GTK4
    • SVG-Histogramm
    • SVG-Tooltip
    • Tool-Manager
    • Einbettung in eine Webanwendung (Flask)
    • Cursor in WX hinzufügen
  • Widgets
    • Annotierter Cursor
    • Schaltflächen
    • Kontrollkästchen
    • Cursor
    • Lasso-Selektor
    • Menü
    • Mauscursor
    • Multicursor
    • Indizes aus einer Sammlung mit Polygon-Selektor auswählen
    • Polygon-Selektor
    • Radio-Schaltflächen
    • Bildskalierung mit einem RangeSlider
    • Rechteck- und Ellipsen-Selektoren
    • Schieberegler
    • Schieberegler auf diskrete Werte einrasten lassen
    • Span Selector
    • Textfeld
  • Userdemo
    • Verschachtelte Gridspecs
    • Einfache Legende01
    • Einfache Legende02
  • Beispiele
  • Sonstiges
  • Matplotlib-Logo

Hinweis

Gehen Sie zum Ende, um den vollständigen Beispielcode herunterzuladen.

Matplotlib-Logo#

Dieses Beispiel generiert das aktuelle Matplotlib-Logo.

import matplotlib.pyplot as plt
import numpy as np

import matplotlib.cm as cm
import matplotlib.font_manager
from matplotlib.patches import PathPatch, Rectangle
from matplotlib.text import TextPath
import matplotlib.transforms as mtrans

MPL_BLUE = '#11557c'


def get_font_properties():
    # The original font is Calibri, if that is not installed, we fall back
    # to Carlito, which is metrically equivalent.
    if 'Calibri' in matplotlib.font_manager.findfont('Calibri:bold'):
        return matplotlib.font_manager.FontProperties(family='Calibri',
                                                      weight='bold')
    if 'Carlito' in matplotlib.font_manager.findfont('Carlito:bold'):
        print('Original font not found. Falling back to Carlito. '
              'The logo text will not be in the correct font.')
        return matplotlib.font_manager.FontProperties(family='Carlito',
                                                      weight='bold')
    print('Original font not found. '
          'The logo text will not be in the correct font.')
    return None


def create_icon_axes(fig, ax_position, lw_bars, lw_grid, lw_border, rgrid):
    """
    Create a polar Axes containing the matplotlib radar plot.

    Parameters
    ----------
    fig : matplotlib.figure.Figure
        The figure to draw into.
    ax_position : (float, float, float, float)
        The position of the created Axes in figure coordinates as
        (x, y, width, height).
    lw_bars : float
        The linewidth of the bars.
    lw_grid : float
        The linewidth of the grid.
    lw_border : float
        The linewidth of the Axes border.
    rgrid : array-like
        Positions of the radial grid.

    Returns
    -------
    ax : matplotlib.axes.Axes
        The created Axes.
    """
    with plt.rc_context({'axes.edgecolor': MPL_BLUE,
                         'axes.linewidth': lw_border}):
        ax = fig.add_axes(ax_position, projection='polar')
        ax.set_axisbelow(True)

        N = 7
        arc = 2. * np.pi
        theta = np.arange(0.0, arc, arc / N)
        radii = np.array([2, 6, 8, 7, 4, 5, 8])
        width = np.pi / 4 * np.array([0.4, 0.4, 0.6, 0.8, 0.2, 0.5, 0.3])
        bars = ax.bar(theta, radii, width=width, bottom=0.0, align='edge',
                      edgecolor='0.3', lw=lw_bars)
        for r, bar in zip(radii, bars):
            color = *cm.jet(r / 10.)[:3], 0.6  # color from jet with alpha=0.6
            bar.set_facecolor(color)

        ax.tick_params(labelbottom=False, labeltop=False,
                       labelleft=False, labelright=False)

        ax.grid(lw=lw_grid, color='0.9')
        ax.set_rmax(9)
        ax.set_yticks(rgrid)

        # the actual visible background - extends a bit beyond the axis
        ax.add_patch(Rectangle((0, 0), arc, 9.58,
                               facecolor='white', zorder=0,
                               clip_on=False, in_layout=False))
        return ax


def create_text_axes(fig, height_px):
    """Create an Axes in *fig* that contains 'matplotlib' as Text."""
    ax = fig.add_axes((0, 0, 1, 1))
    ax.set_aspect("equal")
    ax.set_axis_off()

    path = TextPath((0, 0), "matplotlib", size=height_px * 0.8,
                    prop=get_font_properties())

    angle = 4.25  # degrees
    trans = mtrans.Affine2D().skew_deg(angle, 0)

    patch = PathPatch(path, transform=trans + ax.transData, color=MPL_BLUE,
                      lw=0)
    ax.add_patch(patch)
    ax.autoscale()


def make_logo(height_px, lw_bars, lw_grid, lw_border, rgrid, with_text=False):
    """
    Create a full figure with the Matplotlib logo.

    Parameters
    ----------
    height_px : int
        Height of the figure in pixel.
    lw_bars : float
        The linewidth of the bar border.
    lw_grid : float
        The linewidth of the grid.
    lw_border : float
        The linewidth of icon border.
    rgrid : sequence of float
        The radial grid positions.
    with_text : bool
        Whether to draw only the icon or to include 'matplotlib' as text.
    """
    dpi = 100
    height = height_px / dpi
    figsize = (5 * height, height) if with_text else (height, height)
    fig = plt.figure(figsize=figsize, dpi=dpi)
    fig.patch.set_alpha(0)

    if with_text:
        create_text_axes(fig, height_px)
    ax_pos = (0.535, 0.12, .17, 0.75) if with_text else (0.03, 0.03, .94, .94)
    ax = create_icon_axes(fig, ax_pos, lw_bars, lw_grid, lw_border, rgrid)

    return fig, ax

Ein großes Logo

make_logo(height_px=110, lw_bars=0.7, lw_grid=0.5, lw_border=1,
          rgrid=[1, 3, 5, 7])
logos2

Ein kleines 32px-Logo

make_logo(height_px=32, lw_bars=0.3, lw_grid=0.3, lw_border=0.3, rgrid=[5])
logos2

Ein großes Logo mit Text, wie es auf der Matplotlib-Website verwendet wird.

make_logo(height_px=110, lw_bars=0.7, lw_grid=0.5, lw_border=1,
          rgrid=[1, 3, 5, 7], with_text=True)
plt.show()
logos2
findfont: Font family ['Calibri'] not found. Falling back to DejaVu Sans.
Original font not found. Falling back to Carlito. The logo text will not be in the correct font.

Jupyter Notebook herunterladen: logos2.ipynb

Python Quellcode herunterladen: logos2.py

Gepackt herunterladen: logos2.zip

Galerie generiert von Sphinx-Gallery

© Copyright 2002–2012 John Hunter, Darren Dale, Eric Firing, Michael Droettboom und das Matplotlib-Entwicklungsteam; 2012–2025 Das Matplotlib-Entwicklungsteam.

Erstellt mit Sphinx 8.2.3.

Erstellt aus v3.10.3-2-g3b85ba4365.

Erstellt mit dem PyData Sphinx Theme 0.15.4.