2017-10-20 38 views
1

J'essaie d'enlever les lignes noires de l'axe x et de l'axe y et de laisser les étiquettes (lettres & nombres) mais sans succès. Je l'ai fait pour le côté droit et en haut avec le code suivant:Supprimer les lignes noires de l'axe x et de l'axe y avec matplotlib

ax.spines['top'].set_visible(False) 
ax.spines['right'].set_visible(False) 
ax.get_xaxis().tick_bottom() 
ax.get_yaxis().tick_left() 

Si j'essaie par exemple d'utiliser:

ax.axes.get_xaxis().set_visible(False) 

il supprime les étiquettes, mais les lignes noires continuent là. Une astuce comment pourrait-on y parvenir? J'essaye de changer quelques graphiques faits avec matplotlib à une version plus "propre". Merci.

Mes graphiques sont comme celui-ci ci-dessous:

enter image description here

+0

En plus des réponses ci-dessous, si vous voulez enlever les tiques, ainsi vous pouvez utiliser 'ax.tick_params (axe = u'both », qui = u'both ', length = 0) ' – DavidG

+0

Très utile. Merci – Gonzalo

Répondre

2

Vous pouvez rendre toutes les colonnes invisibles:

for spine in ax.spines.values(): 
    spine.set_visible(False) 

De plus, comme le suggère David:

ax.tick_params(axis=u'both', which=u'both',length=0) 
+0

@DavidG Merci. Cela fonctionne bien. –

1

Vous devriez être en mesure de définir la couleur du bord au blanc comme celui-ci

for edge_i in ['top', 'bottom', 'right', 'left']: 
    ax.spines[edge_i].set_edgecolor("white") 

J'espère que cela