图表的颜色循环

时间:2015-04-06 15:45:54

标签: bokeh

我一直在尝试使用Bokeh(v0.8.1)创建一个包含许多(~1000s)箱形图的地块。我注意到每当我尝试使用bokeh.charts.BoxPlot函数时,我都会遇到一个包含超过6个箱图的错误。

import numpy as np
from bokeh.charts import BoxPlot
test = {}
for i in range(0,7):
    test[str(i)] = np.random.normal(0,1,100)
plot = BoxPlot(test)
show(plot)

堆栈跟踪:

ipython-input-321-6a3614410bf5> in <module>()
      4 for i in range(0,7):
      5     test[str(i)] = np.random.normal(0,1,100)
----> 6 plot = BoxPlot(test)
      7 show(plot)
/opt/pkg/python27/lib/python2.7/site-packages/bokeh/charts/builder/boxplot_builder.pyc in BoxPlot(values, marker, outliers, xscale, yscale, xgrid, ygrid, **kw)
     79     return create_and_build(
     80         BoxPlotBuilder, values, marker=marker, outliers=outliers,
---> 81         xscale=xscale, yscale=yscale, xgrid=xgrid, ygrid=ygrid, **kw
     82     )
     83 

/opt/pkg/python27/lib/python2.7/site-packages/bokeh/charts/_builder.pyc in create_and_build(builder_class, values, **kws)
     38     chart_kws = { k:v for k,v in kws.items() if k not in builder_props}
     39     chart = Chart(**chart_kws)
---> 40     chart.add_builder(builder)
     41 
     42     return chart

/opt/pkg/python27/lib/python2.7/site-packages/bokeh/charts/_chart.pyc in add_builder(self, builder)
    113     def add_builder(self, builder):
    114         self._builders.append(builder)
--> 115         builder.create(self)
    116 
    117         # Add tools if supposed to

/opt/pkg/python27/lib/python2.7/site-packages/bokeh/charts/_builder.pyc in create(self, chart)
    161     def create(self, chart=None):
    162         self._adapt_values()
--> 163         self._process_data()
    164         self._set_sources()
    165         renderers = self._yield_renderers()

/opt/pkg/python27/lib/python2.7/site-packages/bokeh/charts/builder/boxplot_builder.pyc in _process_data(self)
    185                 out_x.append(level)
    186                 out_y.append(o)
--> 187                 out_color.append(self.palette[i])
    188 
    189         # Store

IndexError: list index out of range

似乎BoxPlot函数的任何预定义颜色列表都没有用于新的箱图的颜色。

有没有办法定义一个新的颜色列表(理想情况下,如果它用完就会简单地重复颜色的循环)或完全禁用着色?

1 个答案:

答案 0 :(得分:0)

循环颜色实现以在bokeh上重复颜色。最近的版本中添加了图表(IIRC 0.8)。这似乎是个错误。 Stack Overflow实际上不是讨论和跟踪问题的最佳场所。

我在图表上打开了与cycle_colors / palette错误相关的问题,其中还包含可用于绕过问题的快捷方式。你可以看到它here。基本上你可以明确地构建并传递你自己足够大的调色板。如果您想提供帮助或提供其他反馈,请使用相关的GH问题,主要是因为我们更容易跟踪。

谢谢!