2010-11-29 28 views
5

Frecuentemente hago trazados para mi propia investigación y todos los ajustes predeterminados están bien, pero a menudo tengo que cambiar a hacer trazados diseñados para conversaciones/presentaciones; Me puse manualmente todos los tamaños de fuente un bit bigger para facilitar la lectura:Creación de conjuntos de valores predeterminados para Matplotlib

plot(xdata, ydata) 
xlabel("x-axis data", fontsize=20) 
ax = gca() 
for labeltick in ax.xaxis.get_majorticklabels() + ax.yaxis.get_majorticklabels(): 
     labeltick.set_fontsize(15) 

y así sucesivamente.

Gracias a la documentación y preguntas como this one sé cómo controlar los parámetros de trazado predeterminados cuando inicio matplotlib. Pensé en escribir algo realmente rápido (mpl_defaults.py):

import matplotlib as mpl 
def plot_for_talks(): 
    mpl.rcParams['font.size'] = 20 
    mpl.rcParams['figure.subplot.left'] = .2 
    mpl.rcParams['figure.subplot.right'] = .8 
    mpl.rcParams['figure.subplot.bottom'] = .2 
    mpl.rcParams['figure.subplot.top'] = .8 

Entonces mi código de trazado podría incluir sólo

import mpl_defaults 
plot_for_talks() 

Mi pregunta: ¿hay una forma más adecuada para hacer esto? Tal vez algo incorporado?

Respuesta

4

Prueba esto:

import matplotlib as mpl  
mpl.rc('figure.subplot', left=.2, right=.8, bottom=.2, top=.8) 

Y no debe ser un archivo "site-packages/matplotlib/MPL-datos/matplotlibrc", que se describe en el documento 5.1.

Utilice mpl.matplotlib_fname() para obtener su ruta de archivo rc y modifíquela para que la configuración sea permanente.

+0

Estaba esperando alejarme de una solución "permanente" como editar el archivo matplotlibrc ya que con frecuencia cambio entre los modos "regular" y "presentación". ¿Alguna idea sobre cómo hacer ese cambio frecuente más fácil? – physicsmichael

+2

@ vgm64: Entonces su solución es lo suficientemente buena. mpl.rcdefaults() restablecerá la configuración predeterminada estándar de matplotlib. Para que pueda escribir todas las configuraciones en un archivo como mysettings.py. Y no tiene que poner las llamadas de configuración en una función, simplemente escríbalas en el alcance superior. Cuando desee cambiar al modo de "presentación": "importar mysettings", vuelva a cambiar: modo "mpl.rcdefaults()", "presentation" nuevamente: reload (mysettings) – Kabie

Cuestiones relacionadas