Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript dc.js-用于热图的矩形笔刷?_Javascript_D3.js_Data Visualization_Dc.js - Fatal编程技术网

Javascript dc.js-用于热图的矩形笔刷?

Javascript dc.js-用于热图的矩形笔刷?,javascript,d3.js,data-visualization,dc.js,Javascript,D3.js,Data Visualization,Dc.js,我希望使用类似dc.js的热图,但在中实现了类似矩形笔刷的热图。有没有一个简单的方法来实现这个目标,而不是自己动手 我在文档中找不到任何关于这是否可以开箱即用的信息,所以我怀疑没有。默认的行-/列-/cell单击工作正常,但对于在较大的矩阵中选择单元格来说效率不够(就用户工作而言) 谢谢 你说得对-该功能当前未包含在热图中 添加它会很好,但可能需要做一些工作 同时,如果你愿意稍微修改一下参数,你可以使用散点图得到一个不错的近似值,因为它允许你改变点的大小和形状 我拿了一张散点图换成了热图,改变了

我希望使用类似dc.js的热图,但在中实现了类似矩形笔刷的热图。有没有一个简单的方法来实现这个目标,而不是自己动手

我在文档中找不到任何关于这是否可以开箱即用的信息,所以我怀疑没有。默认的行-/列-/cell单击工作正常,但对于在较大的矩阵中选择单元格来说效率不够(就用户工作而言)


谢谢

你说得对-该功能当前未包含在热图中

添加它会很好,但可能需要做一些工作

同时,如果你愿意稍微修改一下参数,你可以使用散点图得到一个不错的近似值,因为它允许你改变点的大小和形状

我拿了一张散点图换成了热图,改变了一些参数,得到了一些效果相当不错的东西:

首先,我们可以设置宽度和高度以容纳15x15大小的“点”,就像我们在热图示例中所做的那样-除非我们使用散点图时被正方形点卡住:

        .width(12 * 15 + 40)
        .height(27 * 15 + 20)
        .margins({left: 40, top: 0, right: 0, bottom: 20})
页边距用于轴文本

接下来,我们将x域设置为围绕将以其值为中心的点进行拟合:

        .x(d3.scaleLinear().domain([-0.5,11.5]))
        .yAxisPadding(0.5)
(不确定为什么
elasticY
有效,但
elasticX
无效……一次只能挖掘这么多。)

接下来,我们可以将排除半径设置为与法线半径相同,并对排除点使用灰色:

        .symbol(d3.symbolSquare)
        .excludedSize(15)
        .symbolSize(15)
        .excludedColor('#ccc')
有几种不同的方法可以指示哪些内容被过滤进/过滤出-看看其他的想法。例如,您也可以使用。但我发现对于热图来说,不透明度有点令人困惑,因为褪色使它看起来只是有一个不同的值,而不是完全被排除在外。调味

最后,散点图使用“真实”d3轴,因此Y轴需要配置为正确显示数字:

            heatmapChart.yAxis().tickFormat(d3.format('.4'))
总的来说,我很惊讶这是多么容易,因为它们采用相同的数据格式,并且具有大多数相同的参数


戈登,回答得一如既往地好。我会像这样“伪造”热图。谢谢!