2011-03-23 20 views
11

Tengo algunos datos espacialmente distribuidos. Estoy trazando esto con matplotlib.pyplot.hexbin y me gustaría cambiar el color de "fondo" (es decir, valor cero). Un ejemplo se muestra a continuación - el color de mi-mapa de elección es matplotlib.cm.jet:Color de valor cero en matplotlib hexbin

Example data

cómo puedo cambiar el color base de azul a blanco? He hecho algo similar con matrices enmascaradas cuando uso pcolormesh, pero no puedo ver de todos modos hacerlo en los argumentos hexbin. Mi instinto sería editar el mapa de colores en sí, pero no tengo mucha experiencia con eso.

estoy usando matplotlib v.0.99.1.1

Respuesta

16

hexbin(x,y,mincnt=1) debe hacer el truco. Esencialmente, solo desea mostrar los hexágonos con más de 1 conteo en ellos.

from numpy import linspace 
from numpy.random import normal 
from pylab import hexbin,show 

n = 2**6 

x = linspace(-1,1,n) 
y = normal(0,1,n) 

h = hexbin(x,y,gridsize=10,mincnt=0) 

da, Bins with zero counts included

y h = hexbin(x,y,gridsize=10,mincnt=1) da, Bin count starts at one

+0

Gran! No sé cómo eché de menos ese arg, ¡está ahí como un día en el pydoc! Gracias – Dave

+0

@Dave: No hay problema. Me tomó un tiempo para resolverlo también. – lafras

Cuestiones relacionadas