Печать на Python, Peicewise, Holoveiws, Bokeh, тепловые карты - PullRequest
0 голосов
/ 10 октября 2018

Мне нужно различать нефизические данные в моих тепловых картах.Я использую питона (боке и holoviews).

Пример кода:

import numpy as np
import holoviews as hv
import warnings\
warnings.filterwarnings("ignore")
hv.extension('bokeh')
%opts Image [colorbar=True tools=['hover']
%opts Image (cmap='rainbow')
%output max_frames=3000
import Definitions as def #these are my equations

a = 2
b = .2
c = .3
d = .4
e = 0
f = 0
g = 0 
h = 0
i = .2
j = 0
l = .2
m = 1


N = 100 # number of points

yval = np.linspace(0.1,1,N)
xval = np.linspace(0,5,N)
bounds = (0,.1,5,1) #this sets the bounds from .1 to 1 on y axis and 0 to 5 on x axis

xval,yval = np.meshgrid(xval, yval, indexing 'xy')


v1val = def.v1(yval,b,a,m,l,xval)  #Calling my these definitions from a seperate file
v2val = def.v2(b,m,a)




Zlist = def.Z(a,v2val/d,v2val/c,h,e,i,j,xval,l,v1val,f,g)


plot = hv.Image(np.flipud(Zlist), label = "Z Heat Map" \
                   ,bounds = bounds, vdims = hv.Dimension('Z', range=(0,1))).redimlabel(x = 'x', y = 'y')

plot

Этот код создает тепловую карту, где значение функции Z отображается как цвет для области x и y.Так что Z зависит от x и y, и для разных значений x и y у Z будут разные цвета.

Моя проблема: мне нужно различать любые ситуации, когда v1val c и, возможно, назначил цвет, такой как белый или черный, для части графика, соответствующей v1val

Я пробовал разные вещи, но каждый раз, когда у меня появляется какая-то идея, я получаю ошибку типа «Истина значения массива с более чем одним элементом неоднозначна. Используйте a.any () или a.all () "

Помощь в удалении этих нефизических данных была бы очень признательна.

1 Ответ

0 голосов
/ 10 октября 2018

Вы можете увидеть, как затемнить или затемнить области тепловой карты в http://pyviz.org/tutorial/01_Workflow_Introduction.html:

def nansum(a, **kwargs):
    return np.nan if np.isnan(a).all() else np.nansum(a, **kwargs)

heatmap = df.hvplot.heatmap('Year', 'State', 'measles', reduce_function=nansum)

enter image description here

...