Использование цветовой карты с рассеиванием боке

В matplotlib диаграмма matplotlib дает возможность использовать цвет графика для указания величины или величины, как этот график:

введите описание изображения здесь

Для bokeh аналогичные примеры, похоже, вручную генерируют цвета rgb, что затрудняет создание графиков с масштабированным по масштабу цветом, особенно. WRT. расходящиеся цветовые карты.

Возможно ли иметь аналогичную функциональность в bokeh или использовать matplotlib карты matplotlib для установки цвета?

Достаточно просто просто использовать matplotlib карты matplotlib . Например, следующее использование viridis в примере bokeh (обратите внимание, что я использую ноутбук jupyter):

 import numpy as np from bokeh.plotting import figure, show, output_notebook import matplotlib as mpl output_notebook() N = 4000 x = np.random.random(size=N) * 100 y = np.random.random(size=N) * 100 radii = np.random.random(size=N) * 1.5 colors = [ "#%02x%02x%02x" % (int(r), int(g), int(b)) for r, g, b, _ in 255*mpl.cm.viridis(mpl.colors.Normalize()(radii)) ] p = figure() p.scatter(x, y, radius=radii, fill_color=colors, fill_alpha=0.6, line_color=None) show(p) 

По существу, для любой матрицы matplotlib в cm , инициализируя ее массивом значений, будет возвращен массив с каждым значением, замененным значениями [r, g, b, a] в диапазоне [0,1]. Обратите внимание, что это предполагает, что все значения также находятся между 0 и 1; здесь я использую matplot.colors.Normalize, чтобы обеспечить это.