Question

Alors, il semble qu'on ne peut pas faire ce qui suit (il soulève une erreur, car axes ne dispose pas d'une méthode de set_linewidth):

axes_style = {'linewidth':5}
axes_rect = [0.1, 0.1, 0.9, 0.9]

axes(axes_rect, **axes_style)

et doit utiliser à la place l'ancienne astuce suivante:

rcParams['axes.linewidth'] = 5 # set the value globally

... # some code

rcdefaults() # restore [global] defaults

Y at-il un moyen facile / propre (peut être on peut définir les paramètres x- et axes y- individuellement, etc.)?

P.S. Si non, pourquoi?

Était-ce utile?

La solution

La réponse ci-dessus ne fonctionne pas, comme il est expliqué dans les commentaires. Je suggère d'utiliser des épines.

import matplotlib.pyplot as plt

fig = plt.figure()
ax = fig.add_subplot(111)

# you can change each line separately, like:
#ax.spines['right'].set_linewidth(0.5)
# to change all, just write:

for axis in ['top','bottom','left','right']:
  ax.spines[axis].set_linewidth(0.5)

plt.show()
# see more about spines at:
#http://matplotlib.org/api/spines_api.html
#http://matplotlib.org/examples/pylab_examples/multiple_yaxis_with_spines.html

Autres conseils

plt.setp(ax.spines.values(), linewidth=5)

Oui, il y a un moyen facile et propre de le faire.

Appel ' axhline et axvline d'une instance d'axe semble être la technique approuvée dans la documentation de MPL.

En tout état de cause, il est simple et vous donne un contrôle fin sur l'apparence des axes.

Ainsi, par exemple, ce code va créer un terrain et la couleur du vert axe des x et augmenter la largeur de ligne de l'axe x d'une valeur par défaut de « 1 » à une valeur de « 4 »; l'axe y est de couleur rouge et la largeur de ligne de l'axe y est augmenté de « 1 » à « 8 ».

from matplotlib import pyplot as PLT
fig = PLT.figure()
ax1 = fig.add_subplot(111)

ax1.axhline(linewidth=4, color="g")        # inc. width of x-axis and color it green
ax1.axvline(linewidth=4, color="r")        # inc. width of y-axis and color it red

PLT.show()

La axhline / fonction axvline accepte des arguments supplémentaires qui devraient vous permettre de faire toute à peu près tout ce que vous voulez esthétiquement, en particulier l'une des propriétés ~ matplotlib.lines.Line2D sont kwargs valides (par exemple, « alpha », « lineStyle » , capstyle, joinstyle).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top