From: Thomas L. <thl...@ms...> - 2010-06-29 19:19:40
|
Hi, What about ordering the arrays before plotting ? Are the first elements drawn back to front ? Thomas ********************** Thomas Lecocq Geologist Ph.D.Student (Seismology) Royal Observatory of Belgium ********************** Date: Mon, 28 Jun 2010 12:55:22 -0400 From: ath...@we... To: mat...@li... Subject: [Matplotlib-users] zorder for individual points in a scatter plot on a Basemap Hi, I'm currently using a scatter plot on a Basemap and I'd like to set the zorder of the individual points based on their temperature. The higher the temperature, the higher the zorder. Also, i'm using a colorbar to set the colors for the plot. Here is a snippet of my code: x = np.array(val) fig.sca(ax1) lon_0 =(urcrnrlon+llcrnrlon)/2 lat_0 =(urcrnrlat+llcrnrlat)/2 m = Basemap(llcrnrlon=llcrnrlon,llcrnrlat=llcrnrlat,urcrnrlon=urcrnrlon, urcrnrlat=urcrnrlat,resolution='i',projection='cyl',lon_0=lon_0,lat_0=lat_0) m.drawcoastlines() m.drawmapboundary() m.drawparallels(np.arange(llcrnrlat-1,urcrnrlat+1,5.)) m.drawmeridians(np.arange(llcrnrlon-1,urcrnrlon+1,5.)) m.fillcontinents(color='white',lake_color='aqua') m.drawcountries(linewidth=1) lons,lats = m(lon,lat) #I can do it this way, but this screws up the colorbar #for i in range(len(x)): # m.scatter(lons[i],lats[i],c=x[i],marker='o',picker=5,zorder=x[i]) m.scatter(lons,lats,c=x,marker='o',picker=5) plt.title('Time Range: %s to %s'%(startDay.strftime("%b-%d %H:%M"),endDay.strftime("%b-%d %H:%M"))) plt.colorbar(shrink=0.5) Is there anyway to set the zorder of the points without using the loop in commented code? Any help would be greatly appreciated. Thanks, Aman |