Ho cercato una risposta chiara a questo e non sono stato in grado di trovarne uno, mi scuso se questo è stato chiesto in precedenza. Sto usando Seaborn 0.6 con Matplotlib 1.4.3. Mi piacerebbe cambiare temporaneamente gli stili delle trame mentre sto creando molte figure in un notebook ipython.Utilizzo con sns.set nei grafici di nidificazione del mare
In particolare, in questo esempio, vorrei modificare sia la dimensione del carattere che lo stile di sfondo su base per-plot.
Questo crea la trama sto cercando, ma definisce i parametri a livello mondiale:
import seaborn as sns
import numpy as np
x = np.random.normal(size=100)
sns.set(style="whitegrid", font_scale=1.5)
sns.kdeplot(x, shade=True);
tuttavia questo viene a mancare:
with sns.set(style="whitegrid", font_scale=1.5):
sns.kdeplot(x, shade=True);
con:
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-10-70c5b03f9aa8> in <module>()
----> 1 with sns.set(style="whitegrid", font_scale=1.5):
2 sns.kdeplot(x, shade=True);
AttributeError: __exit__
Ho anche provato:
with sns.axes_style(style="whitegrid", rc={'font.size':10}):
sns.kdeplot(x, shade=True);
Che non fallisce, tuttavia non cambia anche la dimensione del carattere. Qualsiasi aiuto sarebbe molto apprezzato.
Non c'è nulla in Seaborn per farlo, ma potresti combinare i Dit dei parametri da 'axes_style' e' plotting_context' e poi passarli a 'plt.rc_context'. – mwaskom
L'istruzione with utilizza i metodi magici Python _ \ _ immettere _ \ _ e _ \ _ exit _ \ _. Quei metodi sono chiamati da qualunque sns.set sta tornando. Deve avere un metodo _ \ _ enter _ \ _, ma non un metodo _ \ _ exit _ \ _. Penso che potresti voler usare un contesto di trama. http://stanford.edu/~mwaskom/software/seaborn/generated/seaborn.plotting_context.html#seaborn.plotting_context – HashSplat
'set' non restituisce nulla; il codice relativo è qui: https://github.com/mwaskom/seaborn/blob/master/seaborn/rcmod.py#L69 – mwaskom