2012-07-25 11 views
6

tengo dos distribuciones dentro de una parcela hexbin, como el que se muestra: enter image description here¿Cómo normalizo un diagrama hexbin?

Una distribuciones tiene un valor máximo de alrededor de 4000, mientras que el otro tiene un valor máximo de aproximadamente 2500. Los colores de trazado son por lo tanto diferente.

Estaba pensando que podría normalizarlo si supiera el valor máximo de la gráfica de hexbin. ¿Cómo puedo saber cuántos puntos hay dentro del maxbinbin máximo además de mirar la barra de colores? Estoy usando matplotlib.pyplot.hexbin

+0

han intentado normalizar las propias distribuciones? –

+0

Sí, lo intenté, y funciona muy bien, hasta que quiera agregarlos juntos ... – Paul

Respuesta

7

Puede obtener el mínimo y el máximo de la norma que es lo que se usa para normalizar los datos para la selección del color.

hb = plt.hexbin(x, y) 
print hb.norm.vmin, hb.norm.vmax 

A continuación, puede pasar una norma con esta información a la segunda parcela. El problema con esto es que la primera trama debe tener más rango que la segunda, de lo contrario la segunda trama no será coloreada.

alternativa, y preferiblemente, se puede construir una norma que se pasa a la función hexbin para ambos de sus parcelas:

norm = plt.normalize(min_v, max_v) 
hb1 = plt.hexbin(x1, y1, norm=norm) 
hb2 = plt.hexbin(x2, y2, norm=norm) 

HTH,

+0

Esto me ayudó a obtener lo que quería. Gracias. – Paul

+0

¿Sabes cómo añado varias parcelas normalizadas para formar una gran parcela? – Paul

Cuestiones relacionadas