Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.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 d3 hexbin缩放问题_Javascript_D3.js - Fatal编程技术网

Javascript d3 hexbin缩放问题

Javascript d3 hexbin缩放问题,javascript,d3.js,Javascript,D3.js,我正在尝试学习如何使用d3.js hexbin插件 我从这个例子开始:,我正在修改它 我有一个介于[0,0]和[600600]之间的点数据集。我想把它们输出到一个300300的图形中 我的图表看起来不对。看起来数据没有正确缩放,图表只显示了数据的1/4。有人能告诉我怎么了吗?我读过一本关于使用d3的书,但我没有太多的使用经验 我想我明白了。您的数据值在0到600之间,但希望映射到0到300之间的x/y位置 如果是这样,则缩放点: var x = d3.scale.linear() .d

我正在尝试学习如何使用d3.js hexbin插件

我从这个例子开始:,我正在修改它

我有一个介于[0,0]和[600600]之间的点数据集。我想把它们输出到一个300300的图形中

我的图表看起来不对。看起来数据没有正确缩放,图表只显示了数据的1/4。有人能告诉我怎么了吗?我读过一本关于使用d3的书,但我没有太多的使用经验


我想我明白了。您的数据值在0到600之间,但希望映射到0到300之间的x/y位置

如果是这样,则缩放点:

var x = d3.scale.linear()
    .domain([0, data_width])
    .range([0, graph_width]);

var y = d3.scale.linear()
    .domain([0, data_height])
    .range([0, graph_height]);

var randomX = d3.random.normal(data_width / 2, 80),
    randomY = d3.random.normal(data_height / 2, 80),
    points = d3.range(2000).map(function() { return [x(randomX()), y(randomY())]; });

更新。

我不理解这个问题,您的点阵列正在您的SVG之外生成
d.x
d.y
值。
var x = d3.scale.linear()
    .domain([0, data_width])
    .range([0, graph_width]);

var y = d3.scale.linear()
    .domain([0, data_height])
    .range([0, graph_height]);

var randomX = d3.random.normal(data_width / 2, 80),
    randomY = d3.random.normal(data_height / 2, 80),
    points = d3.range(2000).map(function() { return [x(randomX()), y(randomY())]; });