Как я могу напечатать список выходов из шестнадцатеричной функции redu_C_function?

У меня есть данные в виде гексаграммы, и я использую C=vel, чтобы раскрасить код по скорости. Это прекрасно работает, но я хотел бы получить список рассчитанных стандартных отклонений и список количества объектов в каждой гексаграмме. Я использую:

imageh=plt.hexbin(x,y,C=vel,extent[np.min(x),np.max(x),np.min(y),np.max(y)],alpha=0.7,gridsize=20,cmap=get_cmap("jet"),reduce_C_function=np.std,mincnt=5)
cbar=plt.colorbar(imageh,extend='max')

"Reduce_C_function=np.std" дает мне стандартное отклонение скорости (vel) в каждой гексаграмме, что я и хочу, но я также хочу, чтобы он выводил вектор на экран. Координаты x и y можно получить через:

bv=imageh.get_paths()
for j in xrange(len(bv)):
    xav=np.mean(bv[j].vertices[0:6,0])
    yav=np.mean(bv[j].vertices[0:6,1])

Я думал, что смогу получить количество элементов в каждом шестиугольнике с помощью get_array и get_offset:

counts=imageh.get_array() 
verts=imageh.get_offsets() 

но мой get_offsets() создает пустой вектор, и get_array(), кажется, возвращает среднее значение скорости на шестиугольник.... Мои значения скорости 'vel' составляют 5513 элементов в длину, countts=imageh.get_array() возвращает 146 значений в тот же диапазон, что и моя скорость. Я запустил его снова три раза, чтобы убедиться, и с третьей попытки get_array() вернул 146 значений в диапазоне стандартного отклонения. Это, если это правда, решит часть проблемы.

Я хочу, чтобы вычисленное стандартное отклонение скорости... вывод функции 'lower_C_function', которая используется на цветовой шкале изображения. Я также просто хочу число, найденное в каждой гексаграмме. Цель состоит в том, чтобы взять каждое стандартное отклонение для каждой гексаграммы, разделить на количество точек в этой гексаграмме и создать взвешенное стандартное отклонение. Количество точек в гексаграмме из необработанного изображения, которое я могу получить отдельно, запустив:

imageh=plt.hexbin(x,y,extent[np.min(x),np.max(x),np.min(y),np.max(y)],alpha=0.7,gridsize=20,cmap=get_cmap("jet"),mincnt=5)

затем с помощью get_array(), но я продолжал думать, что есть способ просто получить количество элементов в каждом гексбине из исходного выражения? Кроме того, в качестве дополнительного усложнения количество точек и бинов немного отличается, если вы включите фильтр скорости np.mean (первый пример).... поэтому выбор числа в каждой гексаграмме непосредственно из запроса будет наилучшим.

0 ответов

Другие вопросы по тегам