Ich habe diesen Plot mit Matlab erstellt
Mit matplotlib zeichnen die x-Achsen große Zahlen wie 100000, 200000, 300000. Ich hätte gerne 1, 2, 3 und 10 ^ 5, um anzuzeigen, dass es tatsächlich 100000, 200000, 300000 ist.
Gibt es eine einfache Möglichkeit, eine solche Skala in matplotlib zu erstellen?
python
matplotlib
Adler
quelle
quelle
ticklabel_format
ist auch eine Methode für dieax.ticklabel_format(style='sci', axis='x', scilimits=(0,0))
[0.1, 0.2, ...]
und ich würde es vorziehen,[1, 2, ...]
einen angepassten Exponenten zu verwenden. Konnten Sie eine Lösung dafür finden?Dies ist weniger eine Antwort auf Ihre ursprüngliche Frage als vielmehr auf eine der Fragen, die Sie im Hauptteil Ihrer Frage hatten.
Eine kleine Präambel, damit meine Benennung nicht seltsam erscheint:
Wie bereits erwähnt, können Sie mit ticklabel_format angeben, dass matplotlib die wissenschaftliche Notation für große oder kleine Werte verwenden soll:
Sie können die Art und Weise beeinflussen, wie dies angezeigt wird, indem Sie die Flags in rcParams (aus dem matplotlib-Import von rcParams) oder direkt festlegen. Ich habe keinen eleganteren Weg gefunden, zwischen der wissenschaftlichen Notation '1e' und 'x10 ^' zu wechseln als:
Dies sollte Ihnen mehr Matlab-esc und in der Tat wohl besseres Aussehen geben. Ich denke, Folgendes sollte dasselbe tun:
quelle
Der Skalarformatierer unterstützt das Sammeln der Exponenten. Die Dokumente lauten wie folgt:
Ihre Technik wäre:
x10^5
Instanziieren Sie den ScalarFormatter mit, um den Exponenten im Format anzuzeigenuseMathText=True
.Sie könnten auch verwenden:
So erhalten Sie ein Ergebnis:
quelle
useMathText=True
, um zu erhaltenx10^4
.Ich finde die einfache Lösung
quelle