Ouranosinc / figanos

Outils pour produire des graphiques informatifs sur les impacts des changements climatiques.
Apache License 2.0
1 stars 0 forks source link

can't replace title in timeseries #71

Closed juliettelavoie closed 1 year ago

juliettelavoie commented 1 year ago

using set_title with timeseries doesn't work. It writes on top instead of replacing. It seems like it works fine for gridmap.

ax=sp.plot.timeseries(ds_time.tx_max_p50)
ax.set_title('test')

test

cothel commented 1 year ago

Is there a subtitle option?

juliettelavoie commented 1 year ago

You can add one, but the default should be just a title filled by the attribute description and users should be able to overwrite it.

juliettelavoie commented 1 year ago

@cothel Je pensais que tu suggèrais une piste de solution. S'il s'agissait seulement d'une question, dans matplotlib, il y a le suptitle sur les figs et le title sur les axs. Spirograph travaille sur les ax. Il est toujours possible pour une utilisatrice de faire:

fig,ax = plt.subplots()
sp.timeseries(ds=ds, ax=ax, use_attrs={'title':'long_name'})
fig.suptitle('blabla') # ajoute un 2e titre au-dessus
cothel commented 1 year ago

Je suggérais effectivement une piste de solution mais j'ai peut-être simplement mal compris le problème. J'ai déjà utilisé subtitle dans matplotlib que je trouve bien pratique lorsqu'un titre que l'on construit automatiquement par une succession d'attributs devient un peu long mais pas toujours plus clair. J'avais l'impression que dans ce cas, un ajout sur un titre déjà long pouvait être la source du problème.

juliettelavoie commented 1 year ago

Le problème est que "test" est écrit par dessus le titre par défaut au lieu de le remplacer complètement. Spiro essait de deviner le meilleur titre (utiliser l'attribut description), mais je veux être capable de complètement override ce défaut.

Beauprel commented 1 year ago

Donc, il n'y a pas vraiment de bug. Il faut spécifier l'argument loc = 'left' lorsque le titre est à gauche (ou n'importe où autre que le centre). Apparemment, c'est le comportement voulu de Maptlotlib (https://github.com/pydata/xarray/issues/2981). Je vais l'ajouter dans le notebook.

image