Bokeh的条形图的ColorAttr中使用的默认调色板只有六个元素,并且具有明显的局限性。据说可以改变Colorattr辅助函数,使用与Spectral10相同的不同调色板,如下所述:
http://bokeh.pydata.org/en/server_branch/docs/reference/charts.html https://notebooks.anaconda.org/nroth/deep-dive-attributes
但我很难想出如何将其应用于实际图表。有没有人有一个例子,说明如何为ColorAttr函数分配一个像Spectral10这样的新调色板,然后将新的ColorAttr分配给一个Bar char?
谢谢! SH
答案 0 :(得分:0)
它实际上很简单,虽然在文档中肯定不容易找到。您可以在条形图调用中为调色板分配参数:
from bokeh.charts import Bar
from bokeh.palettes import Spectral10
p=Bar( ... ,palette=Spectral10)
如果它有任何用处,这里还有一个代码片段(改编自其他贡献者),我用它来生成具有任意数量颜色的调色板:
import matplotlib.cm as cm
import numpy as np
colormap =cm.get_cmap("jet")
different_colors=15
color_mapping=colormap(np.linspace(0,1,different_colors),1,True)
bokeh_palette=["#%02x%02x%02x" % (r, g, b) for r, g, b in color_mapping[:,0:3]]