matplotlib hist, игнорируя конкретное значение без данных

У меня есть двумерный массив numpy с 1.0e6 в качестве значения без данных. Я хотел бы создать гистограмму данных, и хотя мне это удалось, это не лучший способ сделать это.

from matplotlib import pyplot
import sys

eps = sys.float_info.epsilon
no_data = 1.0e6

e_data = elevation.reshape(elevation.size)
e_data_clean = [ ]

for i in xrange(len(e_data)):
    val = e_data[i]
    # floating point equality check for val aprox not equal no_data
    if val > no_data + eps and val < no_data - eps:
        e_data_clean.append(val)

pyplot.hist(e_data_clean, bins=100)

Похоже, должен быть чистый (и намного более быстрый для этого лайнер). Есть?

6
задан Kurt Schwehr 7 November 2011 в 17:12
поделиться