Javascript d3 hexbin缩放问题
我正在尝试学习如何使用d3.js hexbin插件 我从这个例子开始:,我正在修改它 我有一个介于[0,0]和[600600]之间的点数据集。我想把它们输出到一个300300的图形中 我的图表看起来不对。看起来数据没有正确缩放,图表只显示了数据的1/4。有人能告诉我怎么了吗?我读过一本关于使用d3的书,但我没有太多的使用经验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
我想我明白了。您的数据值在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())]; });