2016-05-30 173 views
0

我有一个饼图着色切片以下内容。dc.js颜色饼图颜色与颜色域的颜色

.colorAccessor(function (d) { 
     return d.value.count; 
     }) 
.colors(colorbrewer.YlGn[9]) 
.colorDomain([0, grpXtents[1]]) 

我使用d3.extent

这正常计算grpXtents。当我点击组中其他图表上的过滤器时,如何重新计算颜色域的范围?

谢谢!

+0

问题中没有足够的信息。你目前如何创建元素?你指的是什么其他图表或过滤器,它们是如何相关的? –

+0

我从ajax请求中获取元素。我有一个定制的reducer,它给了我d.value.count。 – bashhike

回答

1

您可能不需要自己计算它。请试试这个:

chart.on('preRedraw', function() { 
    chart.calculateColorDomain(); 
}); 

https://github.com/dc-js/dc.js/blob/develop/web/docs/api-latest.md#dc.colorMixin+calculateColorDomain

这也许应该是在colorMixin一个选项而不是要求这个钩子。

+0

谢谢戈登。它适用于钩子。就像你刚才提到的那样,如果有一个简单的开关启用/禁用重新计算过滤器上的colorDomain,它将非常有用。 – bashhike