Как изменить fill_alpha диаграммы Боке на основе данных - PullRequest
0 голосов
/ 25 сентября 2019

Я построил прямоугольную диаграмму Боке.Я хочу, чтобы fill_alpha был высоким для 1 строки и низким для остальных.Есть ли способ изменить fill_alpha на основе входных данных?

Я пытался использовать сопоставители цветов, как в цветах заливки, но это не сработало.

mapper = LinearColorMapper(palette=RdBu, low=-1, high=1)
df = pd.DataFrame()
df['AllColumns1']=["A","B","C", "D"]
df['AllColumns2']=["A","B","C", "D"]
df['value']=[0.1, 0.4, 0.9, -0.3]
p = figure(title='Title', x_range = list(df.AllColumns1), y_range - list(df.Allcolumns2)
r = p.rect(x='AllColumns1', y='AllColumns2', height = 1, width=1, source = ColumnDataSource(df),fill_alpha = 0.5, fill_color =transform('value', mapper))
show(p)

Я хочу строку, в которой значениеэто "A", чтобы fill_alpha = 1 и остальные 0,5.

1 Ответ

0 голосов
/ 26 сентября 2019

Существуют различные способы сделать это.Самый простой, прямой метод - просто создать столбец с нужными альфа-значениями, например:

df['alpha'] = [1, 0.5, 0.5, 0.5]

Затем настройте rect для его использования:

p.rect(..., alpha='alpha', source=df)

Точно так же для цветов.

Если вы действительно хотите отобразить вещи только в браузере, то вы можете использовать CustomJSTransform для альфы и LinearColorMapper для значений цвета RGB (преобразователи цвета некарта альфа).Вы можете увидеть пример использования картографа цвета с rects здесь .

...