9
在matplotlib
的scatterplot提供了使用曲线的颜色来指示值或量值这样的情节的可能性:与背景虚化的分散使用颜色表
对于bokeh
,类似examples似乎手动生成RGB颜色,这使得难以产生具有按照量级缩放的颜色的图,尤其是, WRT。发散的色彩映射。
是否有可能在bokeh
中具有类似功能,或者使用matplotlib
色彩映射设置颜色?
在matplotlib
的scatterplot提供了使用曲线的颜色来指示值或量值这样的情节的可能性:与背景虚化的分散使用颜色表
对于bokeh
,类似examples似乎手动生成RGB颜色,这使得难以产生具有按照量级缩放的颜色的图,尤其是, WRT。发散的色彩映射。
是否有可能在bokeh
中具有类似功能,或者使用matplotlib
色彩映射设置颜色?
直接使用matplotlib
的色彩映射非常简单。例如,下面的bokeh
的例子(注意,我使用jupyter笔记本电脑)使用viridis
:
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)
从本质上讲,在任何cm
颜色表matplotlib,其值的数组将返回一个初始化它每个值都由[r,g,b,a]值在[0,1]范围内取代。请注意,这里假定所有值都在0和1之间;在这里我使用matplot.colors.Normalize来确保这一点。