После маскирования значения наночастиц значение наночастиц принимает наименьший цвет на графике matplotlib. - PullRequest
0 голосов
/ 18 февраля 2020

У меня есть один ndarray, содержащий значения nan, и я пытаюсь построить ndarray, содержащий значения -z1 = [0,1,2,3, nan, 1,1,1,1,2,2,2, nan, nan , nan, nan], я сделал специфику c цвет, основанный на значении ndarray, например 0 покажет синий цвет, 1 покажет желтый, 2 покажет красный цвет, 3 покажет марроновый цвет, я могу нарисовать НО проблема во время построения используя matplotlib, я получаю значение nan в виде синего цвета, который является цветом с наименьшим значением, я также сделал маскировку, а затем nan, показывающий цвет с самым низким значением, я хочу, чтобы nan не отображался на моем графике. мой проверенный код:

import numpy.ma as ma
z1=ma.masked_invalid(z1)
m = np.ma.masked_where(np.isnan(z1), z1)

# discrete color scheme
cMap = ListedColormap([
    # '#FFFFFF',
    # '#0000FF',
    # '#00FFFF',
    # '#008000',

    '#0000FF',
    '#FFFF00',
    '#FF0000',
    '#800000',

])
current_cmap = matplotlib.cm.get_cmap()
current_cmap.set_bad(color='white')
cMap.set_bad('white', 0)

pp = plt.tripcolor(triang, m,cmap=cMap)

KIndly дайте мне знать, как я могу игнорировать нан значение для построения. _

...