Ich möchte den Kopf eines Pfeils in einer Anmerkung ändern (matplotlib
), aber es funktioniert nicht, wenn es zusammen mit anderen Eigenschaften wie shrink
verwendet wird. Es scheint, den Typ des erstellten Objekts zu ändern, indem man die eingestellten Parameter betrachtet.Wie ändere ich den Pfeilstil in Matplotlib Annotate?
Beispiel
Der folgende Code zeigt zwei Arten von Annotation Pfeile.
import matplotlib.pyplot as plt
import numpy as np
xx = np.linspace(0,8)
yy = np.sin(xx)
fig, ax = plt.subplots(1,1, figsize=(8,5))
ax.plot(xx,yy)
ax.set_ylim([-2,2])
ax.annotate('local\nmax', xy=(np.pi/2, 1), xytext=(1,1.5), ha='center', \
arrowprops={'shrink':0.05})
ax.annotate('local\nmin', xy=(np.pi*3/2, -1), xytext=(5,0), ha='center', \
arrowprops={'arrowstyle':'->'})
Problem
Ich habe versucht, den Pfeil Typ zusammen mit den anderen Eigenschaften in der ersten Anmerkung wie folgt festgelegt:
ax.annotate('other\nmax', xy=(np.pi*5/2, 1), xytext=(7,1.5), ha='center', \
arrowprops={'arrowstyle':'->', 'shrink':0.05})
jedoch Diese Zeile gibt einen Fehler aus:
AttributeError: Unknown property shrink
Warum funktioniert es nicht?
Wie ändere ich den Pfeilstil einer Anmerkung?
Ich verwende:
Python: 3.4.3 + numpy: 1.11.0 + matplotlib: 1.5.1