Matplotlib verts verstehen

Ich versuche, benutzerdefinierte Markierungen in matplotlib für ein Streudiagramm zu erstellen, bei dem die Markierungen Rechtecke mit fester Höhe und unterschiedlicher Breite sind. Die Breite jedes Markers ist eine Funktion des y-Wertes. Ich habe es so ausprobiertdieser Code als Vorlage und unter der Annahme, dass bei einer Liste von N 2-D-Tupeln für verts Rechtecke mit der Breite des entsprechenden ersten Werts und der Höhe des zweiten Werts gezeichnet werden (möglicherweise ist dies bereits falsch, aber wie kann ich das sonst tun?) ?).

Ich habe eine Liste von x- und y-Werten, die jeweils Winkel in Grad enthalten. Dann berechne ich die Breite und Höhe jedes Markers nach

field_size = 2.
symb_vec_x = [(field_size / np.cos(i * np.pi / 180.)) for i in y]
symb_vec_y = [field_size for i in range(len(y))]

und erstellen Sie die Verts-Liste und zeichnen Sie alles mit

symb_vec = list(zip(symb_vec_x, symb_vec_y))
fig = plt.figure(1, figsize=(14.40, 9.00))
ax = fig.add_subplot(1,1,1)
sc = ax.scatter(ra_i, dec_i, marker='None', verts=symb_vec)

Das resultierende Diagramm ist jedoch leer, es wird jedoch keine Fehlermeldung angezeigt. Kann mir jemand sagen, was ich beim Definieren der Verts falsch gemacht habe und wie ich es richtig mache? Vielen Dank!

Antworten auf die Frage(2)

Ihre Antwort auf die Frage