Re: Farbvektor an Plot-Befehl übergeben
Verfasst: Donnerstag 22. Mai 2014, 12:37
@mcatis: Weil Du immer noch den gleichen Fehler machst: Ein Array mit einem Element ist nicht das gleiche wie ein Element.
Seit 2002 Diskussionen rund um die Programmiersprache Python
https://www.python-forum.de/
Code: Alles auswählen
for i range(len(data)):
data[i] ...
Code: Alles auswählen
import matplotlib
matplotlib.use('Agg')
import matplotlib.cm as cm
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap
import matplotlib.animation as animation
lon = [7.3, 8.7, 8.4, 11.2]
lat = [52.9, 52.0, 53.8, 50.9]
fig = plt.figure(figsize=(8,8),facecolor='w')
m = Basemap(llcrnrlon=4.0,urcrnrlon=15.0,llcrnrlat=46.0,urcrnrlat=56.0,\
rsphere=(6378137.00,6356752.3142),\
resolution='l',projection='merc',\
lat_ts=0.,suppress_ticks=True)
m.drawmapboundary(fill_color='w')
m.drawcoastlines(linewidth=0.3)
l, = m.plot([], [], c=[], marker="+", markersize=3)
xx = []
yy = []
for i in range(len(lon)):
xpt,ypt = m(lon[i],lat[i])
xx.append(xpt)
yy.append(ypt)
data = np.vstack([xx,yy])
colormap = ('0.1','0.3','0.6','0.9','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
point.set_data(data[0,:num],data[1,:num])
point.set_color(colormap[num])
return point,
ani = animation.FuncAnimation(fig, animate, frames=len(data[1]), blit=True, fargs=(data,l), interval=500, repeat=False)
ani.save('test.gif', writer='imagemagick')