[PYTHON] matplotlib: Ersetzen Sie die Achse selbst durch eine andere.

Es kann mit python2.6 +matplotlib (1.4.3)[^ 1] ausgeführt werden.

[^ 1]: Kann nicht mit matplotlib (1.0.1) ausgeführt werden

Wenn Sie der Achse beim Erstellen eines Diagramms einen völlig anderen Maßstab geben möchten.

Dieses Mal zeichnen Sie im Unterplot nach dem Erstellen der Achse die Daten auf der Achse "ax1.twinx (). Twiny ()". Das Plotziel ist rand.txt, das ich jedes Mal benutze.

python


$ perl -le 'print rand (10) for 0 .. 99' > rand.txt

replace.py


#!/usr/bin/env python -B
# -*- coding: utf-8 -*-
import sys
import matplotlib as mpl
mpl.use('Agg')
import matplotlib.pyplot as plt
import pandas as pd

df = pd.read_csv(sys.argv[1], header=None)
#Achsenplot
fig, ax1 = plt.subplots()
ax1.xaxis_date()         #X ist eine Zeitreihe
ax1.set_ylim([0,100])    #Y ist 0~100
ax1.grid(True)
ax = ax1.twinx().twiny()

#Datenplot
df.plot(ax=ax,xticks=[],yticks=[])
ax.legend().set_visible(False) 
ax.grid(False)
fig.subplots_adjust( bottom=0.15, top=0.95,left=0.1, right=0.95)
plt.savefig(sys.argv[2])

python


$ python replace.py rand.txt graph.png

change.png

Hintergrund

Beim Umgang mit Zeitreihen mit matplotlib scheint das Plotten von Daten [^ 2], die eine große Anzahl von Zeitstempeln enthalten, um Locators wie Datumsangaben.MonthLocator zu verrotten.

[^ 2]: Ungefähr 10 * 365 * 24 * 60 (Stundenbestellung).

Wenn Sie es ohne Argumente ausführen, ist es ein anständiges Bild, aber einmal (einmal), wenn Sie es mit Intervall = 4 usw. ausführen, werden das Raster und das xticklabel durcheinander gebracht.

Um dies zu vermeiden, subtrahieren Sie eine große Anzahl von Zeitstempeln entsprechend und zeichnen Sie von dort ein Raster usw. [^ 3].

[^ 3]: 10 * 365 * 24 (tägliche Bestellung)

memo

Recommended Posts

matplotlib: Ersetzen Sie die Achse selbst durch eine andere.
2-Achsen-Plot mit Matplotlib
[Python] Legen Sie den Diagrammbereich mit matplotlib fest
Passen Sie den Abstand zwischen den Figuren mit Matplotlib an
Richten Sie die Größe der Farbleiste an der Matplotlib aus
Stellen Sie die Farbe der xticklabels individuell mit matplotlib ein
Zeichnen Sie eine hierarchische Achsenbeschriftung mit matplotlib + pandas
Zeigen Sie Markierungen über dem Rand mit matplotlib an
[Matplotlib] Kippen Sie die Achsenbeschriftung nicht
Richten Sie die Farbleiste mit matplotlib an der Figur aus
[Python] Grenzachse des 3D-Graphen mit Matplotlib
Zeichentipps mit matplotlib auf der Serverseite
Erhöhen Sie die Schriftgröße des Diagramms mit matplotlib
Ein Liner, der die Farben von Matplotlib auflistet
Folgen Sie der AR-Markierung mit einem 2-Achsen-Servo
Die Basis der Graphentheorie mit Matplotlib-Animation
Visualisieren Sie das Verhalten des Sortieralgorithmus mit matplotlib
Japanisch mit Matplotlib
Animation mit matplotlib
Histogramm mit Matplotlib
Laden Sie das gleichnamige Modul an einer anderen Stelle
Zeigen Sie das Diagramm an, während Sie die Parameter mit PySimpleGUI + Matplotlib ändern