Colorbar

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Samoth
User
Beiträge: 41
Registriert: Freitag 24. November 2017, 15:13

Hallo,
ich habe ein Problem mit einer Colorbar...
Ich automatisiere gerade eine Auswertung von 2D-Daten. Dabei habe ich ein großen Range (zwischen 0 und 5000). Das Problem dabei ist, dass ich sowohl kleine, als auch große Daten visualisieren möchte (über ein Discreptive Colorbar).
Ein Log Plot war dabei keine Lösung.


Bisher habe ich mir eine cbar erstellt und dann wie in diversen Tutorien eine cbar erzeugt.
Problem ist, dass die Bar dann nicht einheitlich dargestellt wird, sondern immer hin und her hüpft:
von 0 bis 256, dann von 0 bis 1000...

Ich würde mich über eine colorbar freuen die von 0 bis 5000 geht und dabei immer discreptive Schritte hat, d.h. von 0 bis 50 eine Farbe von 50 bis 100 usw.

Wie kann ich dies in einem Loop realisieren?

Bisher habe ich das so gelöst:

Code: Alles auswählen

cmap = plt.cm.gist_ncar_r
cmap.set_over((1., 0., 0.))
cmap.set_under((0., 0., 1.))

bounds = np.linspace(0,5000,256)
norm = mpl.colors.BoundaryNorm(bounds, cmap.N)

if __name__ == '__main__':
		plt.rcParams["figure.figsize"] = [9,8]
		box = sgeom.box(minx=llcrnrlon, maxx=urcrnrlon, miny=llcrnrlat, maxy=urcrnrlat)
		x0, y0, x1, y1 = box.bounds
		proj = ccrs.PlateCarree(central_longitude=0)
		box_proj = ccrs.PlateCarree(central_longitude=0)
	
		ax2 = plt.axes(projection=proj)
		ax2.set_extent([x0, x1, y0, y1], box_proj)
		ax2.add_feature(cartopy.feature.BORDERS, linestyle='-', alpha=.5)
		ax2.coastlines(resolution='50m')

		plot = plt.contourf(lons, lats, accum_dust/10**-9, 60, 
			cmap=cmap, norm=norm, transform=ccrs.PlateCarree())
				
		cbar = plt.colorbar(plot, cmap=cmap,
                                norm=norm,
                                boundaries=[0] + bounds + [100],
                                extend='both',
                                # Make the length of each extension
                                # the same as the length of the
                                # interior colors:
                                extendfrac='auto',
                                #ticks=bounds,
                                spacing='uniform',
                                orientation='horizontal')
		cbar.set_label('$\mu g/cm^{-3}$',fontsize=15)

Antworten