J'espérais que vous pourriez m'aider à résoudre ce petit problème. Je suis en train de tracer trois ensembles de tableaux errorbars et je veux avoir un deuxième ensemble de ticks sur la partie supérieure de l'intrigue. Je crée donc un nouvel axe double auquel je donne les mêmes coordonnées pour les graduations, x
. La partie du code qui est censé le faire est la suivantetwiny() axe non alligned à l'axe inférieur - matplotlib
x = np.arange(len(Stars))*2
fig = plt.figure()
ax1 = fig.add_subplot(111)
ax2 = ax1.twiny()
ax1.errorbar(x-.5,[Jmin_IS[i] for i in Ind],yerr=[[J1sL_IS[i] for i in Ind],[J1sR_IS[i] for i in Ind]],fmt='o',ms=6)
ax1.errorbar(x ,[Jmin_OM[i] for i in Ind],yerr=[[J1sL_OM[i] for i in Ind],[J1sR_OM[i] for i in Ind]],fmt='s',ms=6)
ax1.errorbar(x+.5,[Jmin_CA[i] for i in Ind],yerr=[[J1sL_CA[i] for i in Ind],[J1sR_CA[i] for i in Ind]],fmt='^',ms=6)
for xv in np.arange(len(Stars))*4: ax1.axvspan(xv-1, xv+1, color='grey',alpha=.5)
x2labels = [str(r'N$_{\star}$=%i'%Stars[i]) for i in Ind]
ax1.set_xticks(x)
ax2.set_xticks(x)
ax2.set_xticklabels(x2labels, rotation=90)
ax1.set_ylim(15,21)
ax1.set_xlim(-1,39)
plt.tight_layout()
plt.grid(ls='dotted',axis='y')
plt.show()
et les résultats est représenté sur la figure
Il y a deux problèmes: d'abord les tiques AX2 biaxial sont décalées (les numéros N_star sont désalignés avec respectés aux coches de l'axe x du bas) et aucune grille dans la direction y n'est affichée. Quelqu'un peut-il repérer une erreur? Est-ce une question de version des paquets python? Merci beaucoup
magnifique! merci beaucoup Oliver – andrea