заставить hexbin в matplotlib python заполнять пустое пространство на квадратной оси?

Я пытаюсь использовать hexbin, чтобы нанести некоторые данные на квадратную ось. Я использую следующее:

import matplotlib.cm as cm                              
plt.figure()  
num_pts = 1000             
x = rand(num_pts) * 100                                                                          
y = rand(num_pts) * 250              
x_min = 0               
x_max = 150                       
x_step = 25

y_min = 50           
y_max = 300                          
y_step = 50       

s = plt.subplot(1,1,1)                                                                                                                              
plt.hexbin(x,y,cmap=cm.jet,gridsize=20)             
plt.xticks(range(x_min,x_max+x_step,x_step))                                                                                                                           
plt.yticks(range(y_min,y_max+y_step,y_step))                                                                                                                           
# square axes                
s.axes.set_aspect(1/s.axes.get_data_ratio())   

Я хочу, чтобы оси были квадратными, и я хочу установить свои собственные пределы xticks / yticks и x-y. для некоторых значений осей данных не будет, поэтому счетчики, вычисленные hexbin, должны быть нулевыми для них - я бы хотел, чтобы hexbin отображал это как пустое пространство, а не оставлял его «белым» / пустым, если вы используете палитра cm.jet.

Теперь я получаю вот что.

Как я могу заставить его заполнять пустое пространство, используя свою цветовую карту? Благодарю. enter image description here

5
задан 10 December 2011 в 23:07
поделиться