d3.js相当新,我需要根据5种颜色对我的等值区域颜色进行着色。 假设我的数据输入是通过0-100的值分配的,如果我使用此代码:
urban_colore = d3.scale.quantize().domain([0, 100]).range(colorbrewer.Oranges[5])
它工作正常,但是,我获得了基于5个等级分布在该范围内的着色:0-20,20-40,40-60, 60-80,80-100。 问题是我需要根据不同的,不相等的分布颜色类来表示我的数据:从0到20,从21到50,从51到80,超过80。 我真的想要了解我必须设置的范围,范围和范围,但我无法找到方法。 任何人都可以帮我解决正确的代码(以及一些解释)吗?
答案 0 :(得分:0)
我不太确定我是那个必须回答我自己的问题的人。但是,感谢AmeliaBR和FernOfTheAndes,阅读他们写的非常好和清晰的东西,我得到了解决方案。有时d3 Api在某些陈述中有点深奥,而新的熟练可能会感到困惑。但是转到this answer你会发现量化比例和阈值的差异,而在this one中,阈值比例得到了很好的解释,不再存在困境。 这FIDDLE是锦上添花。 所以最后,即使它不是我的杯子,这段代码也适合我:
`var urban_colore = d3.scale.threshold().domain([20,50,80,100]).range(colorbrewer.Oranges[5]);`
(但你必须至少拥有d3版本3.0,否则你会得到一个“未捕获的TypeError:对象#没有方法'threshold'error!”因为它到达了我)