2016-05-11 14 views
0

die despine-Funktion in Seaborn-Bibliothek scheint Schriftarteinstellungen Argumente in Matplotlib zu überschreiben. Beispiel:seaborn despine überschreibt Schrifteinstellungen in Matplotlib in Python

plt.figure() 
plt.plot([1,2,3],[1,2,3]) 
plt.xticks([1,2,3], fontsize=13) 
# despine blocks xtick labels font size 
sns.despine(trim=True, offset=2) 
plt.show() 

wenn ich die sns.despine(trim=True, offset=2) Linie dann das fontsize Argument plt.xticks Werke Kommentar aus. Wie kann ich despine verwenden, ohne dass es meine Schriftgrößeneinstellungen außer Kraft setzt?

Antwort

1

Dies ist ein kniffliges Problem, das ich beim Hinzufügen der Funktion zum Anpassen der Rückenmarkierung an Seaborn hatte. Sie können meine ursprüngliche Frage hier sehen:

Efficiently cache and restore matplotlib axes parameters after moving spines

Die Lösung, die wir kamen mit nach einiger Hilfe von der MPL Mailing-Liste ist hier: https://github.com/mwaskom/seaborn/blob/dfdd1126626f7ed0fe3737528edecb71346e9eb0/seaborn/utils.py#L288

so aussieht ist Rand-Fall, dass unser Work-around vermisst.

Als Behelfslösung für Sie, empfehle ich die despining/Verrechnung vor den Zecken Formatierung:

%matplotlib inline 
from matplotlib import pyplot 
import seaborn 

fig, ax = pyplot.subplots() 
# despine blocks xtick labels font size 
seaborn.despine(trim=True, offset=2) 

x = [1, 2, 3] 
ax.plot(x, x) 
ax.set_xticks(x) 
ax.set_xticklabels(x, fontsize=13) 

enter image description here

1

Versuchen Sie, die Xtick Schriftgröße rcParams mit Einstellung:

import matplotlib as mpl 
plt.figure() 
mpl.rcParams['xtick.labelsize'] = 13 # must be place before the actual plot creation 
plt.plot([1,2,3],[1,2,3]) 
# despine blocks xtick labels font size 
sns.despine(trim=True, offset=2) 
plt.show() 

anwenden Dies sollte funktionieren und noch richtig despine.

+0

Ich glaube nicht, das wird funktionieren, weil die x-Achse nicht sein angemessen getrimmt. – mwaskom

+0

Bitte sehen Sie meine aktualisierte Antwort. Dies sollte korrekt funktionieren. –

Verwandte Themen