dc.js - 有没有办法用 dc.js 为热图制作键或图例?

标签 dc.js

我用 dc.js 制作了一个热图,我想知道 dc.js 中是否有热图的键或图例函数。我在互联网上搜索过,但似乎找不到内置的方法,那么有没有其他人解决过这个问题?

最佳答案

我遇到了同样的任务,我所做的是我制作了第二张热图,它是从最小值到最大值的一行。

var range = maxValue - minValue;

var heatArr = [];
for (var i = 0; i < 24; i++) {
  heatArr.push({
    val: minValue + i / 23 * rangeValue,
    index: i
  });
}

var ndx = crossfilter(heatArr);

var keyHeatmap = ndx.dimension(function(d) {
  return [d.index, 1];
});

var keyHeatmapGroup = keyHeatmap.group().reduceSum(function(d) {
  return d.val;
});

var heatmapChart = dc.heatMap("#heatmapKey");

var heatColorMapping = function(d) {
  return d3.scale.linear().domain([minValue, maxValue]).range(["blue", "red"])(d);
};

heatColorMapping.domain = function() {
  return [minValue, maxValue];
};

heatmapChart.width(400)
        .height(80)
        .dimension(keyHeatmap)
        .group(keyHeatmapGroup)
        .colorAccessor(function(d) {
          return d.value;
        })
        .keyAccessor(function(d) { return d.key[0]; })
        .valueAccessor(function(d) { return d.key[1]; })
        .colsLabel(function(d){
          return heatArr[d].val.toFixed(0);
        })
        .rowsLabel(function(d) {
          return "Key";
        })
        .transitionDuration(0)
        .colors(heatColorMapping1)
        .calculateColorDomain();

heatmapChart.xBorderRadius(0);
heatmapChart.yBorderRadius(0);

minValue 和 maxValue 是在我原来的热图中找到的。我的最终结果如下所示:

enter image description here

关于dc.js - 有没有办法用 dc.js 为热图制作键或图例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31441536/

相关文章:

node.js - dc.js 与 Node.js 服务器端

angular - crossfilter2__WEBPACK_IMPORTED_MODULE_3__ 不是函数

javascript - 在交叉过滤器中对维度进行排序 - d3

javascript - elasticitY(true) with range 图表不适应新范围

javascript - dc.js 图表中的多个画笔

node.js - 使用node.js在浏览器上显示dc图表

crossfilter - 返回 DC.js/Crossfilter 组中的最大值

d3.js - dc.js - 使用画笔时为 "TypeError: _x is undefined"

d3.js - 为什么刷机阻止dc.js barChart toolTips出现?