[Python] Ruft die Skalenbezeichnung der Figur ab / bearbeitet sie

In diesem Artikel wird "import matplotlib.pyplot as plt" und "fig = plt.figure ()" angenommen.

Zusammenfassung

Um die Skalierungsbezeichnung der in Python ausgegebenen Figur zu erhalten

--Plt.draw () zur Bestätigung der Abbildung --locs, labs = Erhalte Skalen mit plt.xticks () --_ labs = [lab.get_text () für lab in labs], um die Zeichenfolge der Skalenbeschriftung abzurufen

Das Verfahren ist erforderlich. Alternativ können Sie es bearbeiten, indem Sie die Elemente von Labs direkt neu schreiben (Beispiel: labs [0] .set_va ('top')). Die letztere Methode ist möglicherweise praktischer, da damit andere Zeichenfolgen als Zeichenfolgen bearbeitet werden können.

~ Erklärung unten ~

Holen Sie sich die Waage

Wenn die Zeichenkette der Skala nicht abgerufen werden kann

Selbst wenn Sie die Skala erhalten, die Python standardmäßig ausgibt, sind die Beschriftungsinformationen möglicherweise nicht enthalten. Zum Beispiel

plt.plot( [ 5, 7, 6 ] )

Wenn Sie ausführen, wird die folgende Abbildung angezeigt:

キャプチャ.PNG

Selbst wenn Sie diese Skala erhalten, lautet die Etiketteninformation "". Beachten Sie, dass der zweite Rückgabewert von "plt.xticks ()" keine Zeichenfolge ist, sondern eine Liste von "matplotlib.text.Text" -Objekten, sodass die Zeichenfolge von der Methode ".get_text ()" erfasst wird. ::

xlocs, xlabs = plt.xticks()
print( xlocs ) # [-0.5  0.   0.5  1.   1.5  2.   2.5  3.   3.5]
print( [ xlab.get_text() for xlab in xlabs ] ) # ['', '', '', '', '', '', '', '', '']

ylocs, ylabs = plt.xticks()
print( ylocs ) # [4.5 5.  5.5 6.  6.5 7.  7.5 8.  8.5]
print( [ ylab.get_text() for ylab in ylabs ] ) # ['', '', '', '', '', '', '', '', '']

Darüber hinaus sind in der Abbildung, die gerade ausgegeben wird, oben, unten, links und rechts der Skalen zusätzliche Skalen (-0,5 auf der horizontalen Achse usw.) enthalten. Dies liegt daran, dass sich die Python-Seite in einem Zustand befindet, in dem "die Skalierung derzeit unentschlossen ist und entsprechend der zusätzlichen Bearbeitung entsprechend angepasst wird". stackoverflow: Getting empty tick labels before showing a plot in Matplotlib

Bestätigung der Abbildung → Es ist möglich, die Skalierungszeichenfolge abzurufen

Führen Sie daher "plt.draw ()" oder "fig.canvas.draw ()" aus, um die Abbildung einmal zu bestätigen. Dann ist auch die Zeichenfolge der Skala festgelegt, sodass Sie die Zeichenfolge in der Abbildung anzeigen können (obwohl sich die angezeigte Abbildung nicht ändert).

plt.plot( [ 5, 7, 6, 8 ] )
plt.draw()

xlocs, xlabs = plt.xticks()
print( xlocs ) # [-0.5  0.   0.5  1.   1.5  2.   2.5  3.   3.5]
print( [ xlab.get_text() for xlab in xlabs ] ) # ['−0.5', '0.0', '0.5', '1.0', '1.5', '2.0', '2.5', '3.0', '3.5']

ylocs, ylabs = plt.yticks()
print( ylocs ) # [4.5 5.  5.5 6.  6.5 7.  7.5 8.  8.5]
print( [ ylab.get_text() for ylab in ylabs ] )
# ['4.5', '5.0', '5.5', '6.0', '6.5', '7.0', '7.5', '8.0', '8.5']

Aktualisierung der Skalenbeschriftung

Selbst in diesem Stadium sind zusätzliche Skalen oben, unten, links und rechts enthalten. Wenn Sie also "plt.xticks (xlocs, xlabs)" erneut ohne Bearbeitung ausführen, werden die zusätzlichen Skalen angezeigt und die Ränder der Figur werden groß. Masu:

plt.xticks( xlocs, xlabs )
plt.yticks( ylocs, ylabs )

キャプチャ.PNG

Wenn Sie den Bereich der Abbildung nicht ändern möchten, geben Sie den Bereich der Abbildung mit "xlim ()", "ylim ()" an oder schneiden Sie die Liste der Skalen entsprechend ab (Beispiel: "xlocs [1: -1]" ) müssen es tun.

xmin, xmax = plt.xlim()
ymin, ymax = plt.ylim()
plt.xticks( xlocs, xlabs )
plt.yticks( ylocs, ylabs )
plt.xlim( xmin, xmax )
plt.ylim( ymin, ymax )
# === OR ===
plt.xticks( xlocs[1:-1], xlabs[1:-1] )
plt.yticks( ylocs[1:-1], ylabs[1:-1] )

Direkter Zugriff auf die Klasse matplotlib.text.Text

Oben wurde die Zeichenfolge der Skalenbeschriftung einmal erhalten, aber durch direkten Zugriff auf die Klasse matplotlib.text.Text, die von plt.xticks () erhalten wurde, ** bearbeiten Sie das Erscheinungsbild der Skala nacheinander **. Ich kann. Verwenden Sie zum Bearbeiten die Methodenliste (set_ *) auf der unteren Seite. Zum Beispiel matplotlib offiziell: matplotlib.text.Text

xlocs, xlabs = plt.xticks()
xlabs[3].set_color( 'red' )
xlabs[5].set_va( 'center' )

Dann werden die Farbe und Höhe eines Teils der horizontalen Achse geändert. キャプチャ.PNG

Sie können dies auch nutzen, um die Beschriftungen zu versetzen, wenn die Häkchen zu lang werden: stackoverflow: Aligning rotated xticklabels with their respective xticks

Recommended Posts

[Python] Ruft die Skalenbezeichnung der Figur ab / bearbeitet sie
[Python] Ruft den Zeichencode der Datei ab
Holen Sie sich den Inhalt von Git Diff aus Python
[Python] Holen Sie sich die Hauptthemen von Yahoo News
Holen Sie sich den Aufrufer einer Funktion in Python
der Zen von Python
[Python] Ruft das Datum der letzten Aktualisierung der Website ab
[Python] Holen Sie sich den Tag (Englisch & Japanisch)
Rufen Sie das Aktualisierungsdatum der Python-Memorandum-Datei ab.
So ermitteln Sie die Anzahl der Stellen in Python
[Python] Ruft den offiziellen Dateipfad der Verknüpfungsdatei ab (.lnk)
[Python] Ruft den Gesetzestext aus der e-GOV-Gesetz-API ab
[Python] Ruft die Liste der im Modul definierten Klassen ab
Holen Sie sich den Rückkehrcode eines Python-Skripts von bat
Ermitteln Sie die Größe (Anzahl der Elemente) von Union Find in Python
[Python] Ruft die Liste der ExifTags-Namen der Pillow-Bibliothek ab
[Python] Zusammenfassung, wie die Farbe der Figur angegeben wird
Holen Sie sich mit Python den Betriebsstatus von JR West
[Python] Ermittelt die Anzahl der Aufrufe aller veröffentlichten Artikel
Rufen Sie die URL des HTTP-Umleitungsziels in Python ab
Auf dem Weg zum Ruhestand von Python2
Holen Sie sich die Anzahl der Ziffern
[Python] Holen Sie sich den Vormonat
Über die Funktionen von Python
Die Kraft der Pandas: Python
Versuchen Sie, die Funktionsliste des Python> os-Pakets abzurufen
Holen Sie sich die Anzahl der spezifischen Elemente in der Python-Liste
Ruft den Index jedes Elements der Verwirrungsmatrix in Python ab
Holen Sie sich die Quelle der Seite unbegrenzt mit Python zu laden.
Die Geschichte von Python und die Geschichte von NaN
Holen Sie sich die Anzahl der Ansichten von Qiita
[Python] Der Stolperstein des Imports
Erster Python 3 ~ Der Beginn der Wiederholung ~
Holen Sie sich den Desktop-Pfad in Python
Existenz aus Sicht von Python
Holen Sie sich das Wetter mit Python-Anfragen
Holen Sie sich das Wetter mit Python-Anfragen 2
pyenv-change die Python-Version von virtualenv
Holen Sie sich den Skriptpfad in Python
So erhalten Sie die Python-Version
Ruft die Attribute eines Objekts ab
Holen Sie sich das erste Element von Queryset
[Python] Die potenzielle Feldplanung von Python Robotics verstehen
Überprüfung der Grundlagen von Python (FizzBuzz)
Holen Sie sich die Anzahl der Youtube-Abonnenten
Holen Sie sich den Desktop-Pfad in Python
Holen Sie sich den Hostnamen in Python
Python Hinweis: Holen Sie sich den aktuellen Monat
Informationen zur Grundlagenliste der Python-Grundlagen
Lernen Sie die Grundlagen von Python ① Grundlegende Anfänger
Hinweis: Holen Sie sich das erste und letzte Element von Python OrderedDict zerstörungsfrei
[In der Abbildung verstanden] Verwaltung der virtuellen Python-Umgebung durch Pipenv
[Python] So erhalten Sie den ersten und den letzten Tag des Monats
Fühlen Sie sich frei, das Legendenlabel mit Seaborn in Python zu ändern
[Python] Ruft das Aktualisierungsdatum eines Nachrichtenartikels aus HTML ab
[Python] Ermittelt den Rang der Werte in der Liste in aufsteigender / absteigender Reihenfolge
Rufen Sie den Wert des Dropdown-Menüs mit Python und Selen ab und legen Sie ihn fest
Holen Sie sich den Titel und das Lieferdatum von Yahoo! News in Python
Holen Sie sich die Anzahl der Leser von Artikeln über Mendeley in Python