and matplotlib

and - matplotlib title position



Darle un subtítulo a los gráficos en matplotlib (5)

Aunque esto no le proporciona la flexibilidad asociada con múltiples tamaños de fuente, agregar un carácter de nueva línea a su cadena pyplot.title () puede ser una solución simple;

plt.title(''Really Important Plot/nThis is why it is important'')

Quiero darle a mi gráfico un título en letra grande de 18 puntos, luego un subtítulo debajo en una letra más pequeña de 10 puntos. ¿Cómo puedo hacer esto en matplotlib? Parece que la función title() solo toma una sola cadena con un único atributo fontsize . Tiene que haber una manera de hacer esto, pero ¿cómo?


Este es un ejemplo de código de pandas que implementa la respuesta de Floris van Vugt (20 de diciembre de 2010). Él dijo:

> Lo que hago es usar la función title () para el subtítulo y el subtítulo () para el> título principal (pueden tomar diferentes argumentos fontsize). ¡Espero que ayude!

import pandas as pd import matplotlib.pyplot as plt d = {''series a'' : pd.Series([1., 2., 3.], index=[''a'', ''b'', ''c'']), ''series b'' : pd.Series([1., 2., 3., 4.], index=[''a'', ''b'', ''c'', ''d''])} df = pd.DataFrame(d) title_string = "This is the title" subtitle_string = "This is the subtitle" plt.figure() df.plot(kind=''bar'') plt.suptitle(title_string, y=1.05, fontsize=18) plt.title(subtitle_string, fontsize=10)

Nota: No pude comentar esa respuesta porque soy nuevo en .


Lo que hago es usar la función title () para el subtítulo y el subtítulo () para el título principal (pueden tomar diferentes argumentos fontsize). ¡Espero que ayude!


No creo que haya nada incorporado, pero puedes hacerlo dejando más espacio sobre tus ejes y usando figtext :

axes([.1,.1,.8,.7]) figtext(.5,.9,''Foo Bar'', fontsize=18, ha=''center'') figtext(.5,.85,''Lorem ipsum dolor sit amet, consectetur adipiscing elit'',fontsize=10,ha=''center'')

ha es la abreviatura de horizontalalignment .


Solo usa TeX! Esto funciona :

title(r"""/Huge{Big title !} /newline /tiny{Small subtitle !}""")

EDITAR: Para habilitar el procesamiento de TeX, debe agregar la línea "usetex = True" a los parámetros de matplotlib:

fig_size = [12.,7.5] params = {''axes.labelsize'': 8, ''text.fontsize'': 6, ''legend.fontsize'': 7, ''xtick.labelsize'': 6, ''ytick.labelsize'': 6, ''text.usetex'': True, # <-- There ''figure.figsize'': fig_size, } rcParams.update(params)

Supongo que también necesita una distribución de TeX en funcionamiento en su computadora. Todos los detalles se dan en esta página:

http://matplotlib.org/users/usetex.html