2016-04-21 4 views
4

Einfaches Beispiel unten für dieses Problem, das ich einfach nicht lösen kann.Seaborn/Matplotlib: Wie wissenschaftliche Notation in factorplot y-Achse zu unterdrücken

N.B. Einige andere Seaborn-Darstellungsmethoden scheinen Argumente zu haben, um die exponentielle Form zu unterdrücken, aber anscheinend nicht factorplots. Ich habe einige Matplotlib-Lösungen einschließlich der in diesem similar question vorgeschlagenen getestet, aber keine funktionieren. Auch das ist kein Betrüger von this question. Ich verwende factorplots sehr häufig und möchte im Idealfall eine richtige Lösung im Gegensatz zu einer Problemumgehung finden.

data = {'reports': [4, 24, 31, 2, 3],'coverage': [35050800, 54899767, 57890789, 62890798, 70897871]} 
df = pd.DataFrame(data) 
df 

Erzeugt dieses Datenrahmen:

coverage reports 
0 35050800 4 
1 54899767 24 
2 57890789 31 
3 62890798 2 
4 70897871 3 

Und dann diesen Code Seaborn:

sns.factorplot(y="coverage", x="reports", kind='bar', data=df, label="Total") 

dieses Grundstück Produziert:

enter image description here

Gibt es ein w ay, um auf der Y-Achse eine geeignete numerische Skala basierend auf den Werten coverage anzuzeigen?

+0

Mögliches Duplikat von [Wie Zahlen exponentielle Form in Python matplotlib Figur geändert verhindern] (http: // Stackoverflow. com/questions/14711655/How-to-Prevent-Zahlen-in-Exponential-Form-in-Python-Matplotlib-Fi geändert werden) – GWW

+0

Danke für die Hervorhebung dieser Möglichkeit GWW - Ich hatte diese Frage gesehen und versuchte die Lösungen aber umsonst. – RDJ

+0

Haben Sie 'plt.ticklabel_format (style = 'plain', axis = 'y')'? –

Antwort

3

Es ist wie die folgende Zeile sieht löst das Problem:

plt.ticklabel_format(style='plain', axis='y') 

Hier ist die documentation link.

2

folgende Zeile löste das Problem für mich (neben Tonys Antwort)

sns.plt.ticklabel_format(style='plain', axis='y',useOffset=False)

Verwandte Themen