Pyplot: Prozentsatz auf der x-Achse verwenden

7

Ich habe ein Liniendiagramm basierend auf einer einfachen Liste von Zahlen. Standardmäßig ist die X-Achse nur ein Inkrement von 1 für jeden geplotteten Wert. Ich möchte stattdessen ein Prozentsatz sein, kann aber nicht herausfinden, wie. Anstatt also eine x-Achse von 0 bis 5 zu haben, würde sie von 0% auf 100% gehen (aber mit ausreichend großen Teilstrichen. Code unten. Danke!

%Vor%     
Alexis Eggermont 10.10.2014, 07:46
quelle

2 Antworten

18

Der folgende Code gibt Ihnen eine vereinfachte x-Achse, die prozentual basiert. Dabei wird davon ausgegangen, dass alle Werte gleich 0% bis 100% sind.

Erzeugt ein perc -Array, das gleichmäßig verteilte Prozentsätze enthält, mit denen geplottet werden kann. Anschließend passt es die Formatierung für die X-Achse so an, dass es ein Prozentzeichen mit matplotlib.ticker.FormatStrFormatter enthält . Unglücklicherweise verwendet dies die Formatierung von Strings im alten Stil, im Gegensatz zum neuen Stil, finden Sie die alten Stildokumente hier .

%Vor%

    
Ffisegydd 10.10.2014, 08:14
quelle
2

Das sind ein paar Monate zu spät, aber ich habe PR # 6251 mit matplotlib erstellt, um ein neues% hinzuzufügen. co_de% klasse. Mit dieser Klasse können Sie die Achse wie folgt einstellen:

%Vor%

Dies zeigt Werte von 0 bis 5 auf einer Skala von 0% bis 100% an. Der Formatierer ist ähnlich dem, was @Ffisegydd vorschlägt, außer dass er beliebige vorhandene Ticks berücksichtigen kann.

PercentFormatter akzeptiert drei Argumente, PercentFormatter() , max und decimals . Mit symbol können Sie den Wert festlegen, der 100% auf der Achse entspricht (in Ihrem Beispiel max ).

Mit den anderen beiden Parametern können Sie die Anzahl der Nachkommastellen und das Symbol festlegen. Sie sind standardmäßig auf 5 bzw. None eingestellt. '%' wird automatisch die Anzahl der Dezimalpunkte basierend auf der Anzahl der angezeigten Achsen festlegen.

Beachten Sie, dass dieser Formatierer alle Ticks verwendet, die normalerweise erzeugt würden, wenn Sie nur Ihre Daten geplottet hätten. Es ändert nichts außer den Zeichenfolgen, die an die Teilstriche ausgegeben werden.

    
Mad Physicist 30.03.2016 21:22
quelle

Tags und Links