ich habe mit matplotlib-Basmap eine Karte erzeugt und will dort animiert Markers mit verschiedenen Farben drauf malen. Soweit klappt das auch alles.
Nur meckert er bei der Übergabe des Color-Vektors, dass er RGBA haben will.
Hier mein Code:
Code: Alles auswählen
l, = m.plot([], [], c=[], markersize=3)
xx=[]
yy=[]
ww=[]
for i in range(len(a)):
print longitude[i],latitude[i]
xpt,ypt = m(longitude[i],latitude[i])
xx.append(xpt)
yy.append(ypt)
ww.append(float(weight[i]/100))
data = np.vstack([xx,yy,ww])
colormap = np.array(["0.35","0.78","0.35","0.78","0.35","0.78","0.35","0.78","0.35","0.78",
"0.35","0.78","0.35","0.78","0.35","0.78","0.35","0.78","0.35","0.78",
"0.35","0.78","0.35","0.78","0.35","0.78","0.35","0.78","0.35","0.78"])
def animate(num, data, point):
num = num+1
print num
print data
point.set_data(data[0,:num],data[1,:num])
#print data[2,:num+1]
print data[2,:num]
point.set_color(colormap)
return point,
ani = animation.FuncAnimation(fig, animate, frames=len(data[1]), blit=True, fargs=(data,l), interval=500, repeat=False)
Hat jemand eine Idee, wie ich den Vektor übergebe. Er muss ja die Farbinfo von Schritt zu Schritt beibehalten, wie bei den Koordinaten.ValueError: to_rgba: Invalid rgba arg "['0.35' '0.78' '0.35' '0.78' '0.35' '0.78' '0.35' '0.78' '0.35' '0.78'
'0.35' '0.78' '0.35' '0.78' '0.35' '0.78' '0.35' '0.78' '0.35' '0.78'
'0.35' '0.78' '0.35' '0.78' '0.35' '0.78' '0.35' '0.78' '0.35' '0.78']"
number in rbg sequence outside 0-1 range
1. Marker zb rot, 2. Marker grün (aber er muss dann trotzdem den 1. rot lassen). Ich hatte es geschafft die Farbe zu ändern, aber dann hat er das auf alle Marker angewendet
Kann jemand helfen?
Lg