我如何绘制一个维度vs另一个维度(使用dc.js, crossfilter.js) ?包括一个启动示例
How do I plot a dimension vs an other dimension (using dc.js, crossfilter.js) ? a gistup example is included
首先,提前感谢你看我的问题!
所以,如果你点击这个要点http://bl.ocks.org/markarios/e95914454a1ef4f7f391我有一个条形图,显示计数与ppi不同类型的设备(表,手机,电脑显示器)。但我也有屏幕亮度数据。我想在x轴上绘制ppi,在y轴上绘制亮度(单位)。
我当前的代码是这个柱状图。
dc.barChart("#bar-chart-III")
.width(500) ```
.height(600)
.dimension(ppi)
.group(count_by_ppi )
.x(d3.scale.linear().domain([ppiExtent[0]-1,ppiExtent[1]+1]));
d3.select("#bar-chart-III").append("text").text("PPI");
但是我被困的地方是我不知道如何定义亮度变量,所以它可以取代前面代码中的count_by_ppi变量?到目前为止,我的亮度定义如下:
var brightness = data.dimension(function(d){return d.brightness_nits})
var count_by_brightness = brightness.group().reduceCount();
我试了下面的方法,但是行不通。
dc.barChart("#bar-chart-III")
.width(500) ```
.height(600)
.dimension(ppi)
.group(brightness)
.x(d3.scale.linear().domain([ppiExtent[0]-1,ppiExtent[1]+1]));
您需要创建几个具有与您的维度(ppi)相同键的组-每个您想要的亮度桶一个组。然后,您将需要使用dc.js .stack()方法将这些组添加到堆叠条形图上(使用.group()一次,使用.stack()多次,IIRC)。
stack()方法被记录在stack mixin下面:https://github.com/dc-js/dc.js/blob/master/web/docs/api-latest.md stack-mixin
这种"桶组"似乎是经常需要的东西,所以我将尝试在Reductio项目中为它创建一个帮助器,但我还没有抽出时间。
相关文章:
- 使用dc.js、d3.js和crossfilter引用错误
- Vue, Webpack, DC.js, and Finally Crossfilter
- dc.js和crossfilter降低了一周中每天的平均计数
- 我怎样才能创建一个动态表-Crossfilter-dc.js
- 如何制作一个通用函数来创建crossfilter.js维度
- 使用crossfilter和dc.js绘制每一天的最小-最大值
- dc.js d3+crossfilter.top将过滤后的数据导出为CSV
- Crossfilter.js:创建具有嵌套属性的维度/组
- 使用crossfilter将dc.js绑定到谷歌地图
- crossfilter.js&dc.js:要使用的维度和事实的数量有限制吗
- Crossfilter.js,如何处理日期维度上的人工重复
- 在两个不同的浏览器窗口中使用dc.js crossfilter交互两个不同的图形
- Crossfilter / dc.js中的伪组过滤
- Crossfilter.js:按月分组数据
- Crossfilter.js按多个分类轴分组
- dc.js / crossfilter性能问题12000 +行CSV数据
- 如何从dc.js / crossfilter / d3中的数组字段中选择元素,并将每个元素用作图表的单独数据点
- 在Crossfilter / DC.js中加载CSV和创建过滤器
- 我如何绘制一个维度vs另一个维度(使用dc.js, crossfilter.js) ?包括一个启动示例
- 理解crossfilter.js的篡改代码