2017-01-04 4 views
2

Je vous dérange avec une question idiote, mais je ne pouvais pas trouver un acquéreur. J'essaie d'ajouter une barre de couleurs à une image en utilisant matplotlib. Le problème survient lorsque j'essaie de formater les ticks de la barre de couleurs. Je voudrais avoir un format de notation scientifique, mais en même temps contrôler le nombre de décimales dans les tiques. Par exemple, avec ce code:Matplotlib colorbar tiques format lors de l'utilisation de la notation scientifique

#format the colorbar ticks labels 
sfmt=ticker.ScalarFormatter(useMathText=True) 
sfmt.set_powerlimits((0, 0)) 

cb1=fig1.colorbar(imp, 
       cax=axcbar, 
       orientation="vertical", 
       ticks=np.linspace(1.03*np.min(imest),0.97*np.max(imest),4), 
       format=sfmt) 
cb1.set_label(r'$kg/s.m^2$') 

Je crée ce chiffre:

enter image description here

Je voudrais avoir dans les tiques une seule décimale (à savoir 5,210 -> 5.2). Est-ce possible d'une manière simple? J'ai essayé beaucoup de choses sans succès.

Merci d'avance.

Répondre

0

Vous pouvez changer de

ticks = np.linspace(1.03*np.min(imest),0.97*np.max(imest),4) 

le tableau de la tique à quelque chose comme:

ticks = np.arange(2.2, 6.2, 1) * 1e6 

Et le résultat ressemblerait à l'intrigue: enter image description here

+0

Merci beaucoup !. Cela a fonctionné parfaitement. – DanielPerez