Est*_*lus 1 matplotlib python-2.7 bokeh
我想创建一个背景虚化的彩条使用matplotlib的coolwarm颜色表。没有必要打勾。我该怎么做?
这里的关键是为 matplotlib 的coolwarm colormap 获取一个有效的调色板。bokeh.palette模块只有四个 matplotlib 调色板,不包括coolwarm。您需要自己制作(或使用colorcet稍后解释的包)。
一个典型的 bigbokeh.palette在(十六进制)RGB 颜色字符串列表中具有 256 种颜色。一般的想法是从 matplotlib coolwarm 颜色图中采样 256 种颜色,并将它们转换为(十六进制)RGB 颜色字符串列表。使用数字列表实例化coolwarm 类将返回RGBA 颜色列表。每种颜色的 RGB 值都在 [0, 1] 和 A=1.0 之内。bokeh.colors.RGB 需要一次输入一个 RGBA,RGBA 是 [0, 255] 内的独立 int 参数。
from bokeh.colors import RGB
from matplotlib import cm
m_coolwarm_rgb = (255 * cm.coolwarm(range(256))).astype('int')
coolwarm_palette = [RGB(*tuple(rgb)).to_hex() for rgb in m_coolwarm_rgb]
您现在可以在行中coolwarm_palette用作palette(替换“Viridis256”):
color_mapper = LogColorMapper(palette="Viridis256", low=1, high=1e7)
或者,如果这对您来说是一个可行的选择,您可以使用colorcet包。colorcet.coolwarm是在palette这里使用。但是,正如您在自己尝试后可能会看到的那样,由于颜色采样的差异,最终的绘图在颜色分布上略有不同。
| 归档时间: | 
 | 
| 查看次数: | 1106 次 | 
| 最近记录: |