Pour une raison étrange, je ne trouve pas le moyen de spécifier la configuration des épines dans le fichier matplotlibrc de Python. Avez-vous une idée sur la façon de causer la maplotlib de ne pas dessiner les épines supérieures et droites par défaut?
plus sur les infos sur les épines de Matplotlib est ici p>
merci p>
(source: Sourceforge.net ) SUB> P>
3 Réponses :
Afin de masquer les épines droites et supérieures d'un sous-lieu, vous devez définir la couleur des envies correspondantes sur Malheureusement, aucun de ceux-ci n'est actuellement Accessible via en raison de la nature du système Les épines obtiennent actuellement leur couleur dans le même paramètre 'Aucun' code>, ainsi que définir la position de tick sur 'GAUCHE' code> pour le xtick, et 'bas' code> pour le ytict (afin de masquer les traces ainsi que les épines). matplotlibrc code>. Les paramètres spécifiés dans matplotlibrc code> sont validés, puis stockés dans un dict appelé rcparams code>. Il est ensuite à la hauteur des modules individuels de vérifier une clé de ce dict dont la valeur agira comme défaut. S'ils ne le contrôlent pas pour l'une de leurs options, cette option n'est pas altérable via le fichier rc code>. p> RC code> et de la manière dont les épines sont écrites, modifier le code pour permettre cela ne serait pas simple: P> RC code> utilisé pour définir les couleurs de l'axe; Vous ne pouvez pas la définir sur 'Aucun' code> sans cacher tout votre dessin à l'axe. Ils sont également agnostiques pour savoir si ils sont haut code>, droit code>, gauche code> ou inférieur code> - ce sont vraiment quatre Des épines séparées stockées dans une dict. Les objets de la colonne vertébrale individuels ne savent pas de quel côté de la parcelle qu'ils composent. Vous ne pouvez donc pas simplement ajouter de nouveaux paramètres code> rc code> et attribuer la bonne lors de l'initialisation de la colonne vertébrale. P> import matplotlib
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.pyplot import show
# Set up a default, sample figure.
fig = plt.figure()
x = np.linspace(-np.pi,np.pi,100)
y = 2*np.sin(x)
ax = fig.add_subplot(1,2,2)
ax.plot(x,y)
ax.set_title('Normal Spines')
def hide_spines():
"""Hides the top and rightmost axis spines from view for all active
figures and their respective axes."""
# Retrieve a list of all current figures.
figures = [x for x in matplotlib._pylab_helpers.Gcf.get_all_fig_managers()]
for figure in figures:
# Get all Axis instances related to the figure.
for ax in figure.canvas.figure.get_axes():
# Disable spines.
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
# Disable ticks.
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')
hide_spines()
show()
Pour rendre MATPLOTLIB Ne pas dessiner les épines supérieures et droites, on peut définir ce qui suit dans le fichier MATPLOTLIBC
axes.spines.right : False axes.spines.top : False
Pouvez-vous également supprimer les tiques des axes de haut et de droite du fichier matplotlibrc?
@jkokorian: Dans la version 2.0.0 à venir de Matplotlib, vous pouvez définir le xtick.top code> et ytick.right code> options.
ax.spines["top"].set_visible(False) ax.spines["right"].set_visible(False)