Einstellung `axes.linewidth` ohne die` rcParams` globalen dict Ändern
-
23-09-2019 - |
Frage
Also, es scheint man folgende nicht tun kann (es einen Fehler auslöst, da axes
keine set_linewidth
Methode hat):
axes_style = {'linewidth':5}
axes_rect = [0.1, 0.1, 0.9, 0.9]
axes(axes_rect, **axes_style)
und hat folgenden alten Trick zu verwenden, anstatt:
rcParams['axes.linewidth'] = 5 # set the value globally
... # some code
rcdefaults() # restore [global] defaults
Gibt es eine einfache / saubere Art und Weise (kann man x
- und y
- Achsen Parameter individuell einstellen kann, usw.)?
P. S. Wenn nein, warum?
Lösung
Die obige Antwort nicht funktioniert, wie es in den Kommentaren erklärt. Ich schlage vor, zu verwenden Stacheln.
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
Andere Tipps
plt.setp(ax.spines.values(), linewidth=5)
Ja, es ist eine einfache und saubere Art und Weise, dies zu tun.
Der Aufruf ' axhline ' und ' axvline ' von einer Achse Beispiel erscheint die Technik in der MPL-Dokumentation unterstützt werden.
In jedem Fall ist es einfach, und gibt Ihnen feinkörnige Kontrolle über das Aussehen der Achsen.
So zum Beispiel, wird dieser Code ein Diagramm erstellen und die Farbe x-Achse grün und erhöht die Linienbreite der x-Achse von einem Standardwert von „1“ auf einen Wert von „4“; die y-Achse ist rot gefärbt und die Linienbreite der y-Achse wird von „1“ bis „8“ erhöht.
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()
Die axhline / axvline Funktion akzeptiert zusätzliche Argumente, die sollten Sie eine ziemlich alles tun, damit, was Sie wollen, ästhetisch, insbesondere eine der ~ matplotlib.lines.Line2D Eigenschaften gelten kwargs (zB ‚Alpha‘, ‚Linienstil‘ , capstyle, joinstyle).