2011-08-31 9 views
5

Estoy tratando de cambiar la fuente de etiquetas de ticks con matplotlib de la fuente estándar a Times New Roman. Creo que esto debería ser tan fácil como cambiar la fuente de las etiquetas de título y eje, pero está resultando un poco complicado. Actualmente, solo intento establecer la fuente para las etiquetas x-tick, que son fechas con autoformato (que puede ser uno de mis problemas, pero no estoy seguro).Establecer propiedades de fuente para marcar etiquetas con Matplot Lib

Recibo el error "sin atributo 'set_fontproperties' para Axessubplot" cuando se ejecutan los fragmentos de código relevantes a continuación.

ticks_font = matplotlib.font_manager.FontProperties(family='times new roman', style='normal', size=12, weight='normal', stretch='normal') 

fig.autofmt_xdate() 
ax.fmt_xdata = mdates.DateFormatter('%Y-%m-%d') 
for label in ax.get_xticklabels(): 
    ax.set_fontproperties(ticks_font) 

Cualquier ayuda es muy apreciada.

Gracias.

Actualizar/Editar: Ah, me siento como un idiota. Lo descubrí y fue tan obvio una vez que me di cuenta. En el contexto del fragmento anterior, la respuesta es:

label.set_fontproperties(ticks_font) 
+4

¿Respondió a su pregunta? Si es así, agregue una respuesta con su solución y cierre la pregunta. –

Respuesta

4

También puede configurar antes de ejecutar el comando con una lista de parámetros si su ejecución de un script. Tal como por debajo tomada de un guión mío:

fig_size = [fig_width, fig_height] 
tick_size = 9 
fontlabel_size = 10.5 
params = { 
    'backend': 'wxAgg', 
    'lines.markersize' : 2, 
    'axes.labelsize': fontlabel_size, 
    'text.fontsize': fontlabel_size, 
    'legend.fontsize': fontlabel_size, 
    'xtick.labelsize': tick_size, 
    'ytick.labelsize': tick_size, 
    'text.usetex': True, 
    'figure.figsize': fig_size 
} 
plt.rcParams.update(params) 

O si quiere hacerlo como lo tenías a continuación, ejecute:

for label in ax.get_xticklabels() : 
    label.set_fontproperties(ticks_font) 

Se está haciendo cada etiqueta que tiene todas las propiedades de texto que puedes establecerlo

1

http://matplotlib.sourceforge.net/users/customizing.html

"matplotlib Personalización: matplotlib utiliza archivos de configuración matplotlibrc de personalizar todo tipo de propiedades, lo que llamamos la configuración rc o parámetros rc Puede controlar los valores predeterminados de casi todas las propiedades en matplotlib.: tamaño de la figura y ppp, ancho de línea, color y estilo, ejes, propiedades de cuadrícula y de cuadrícula, propiedades de texto y fuente, etc. ". ...

Cuestiones relacionadas