1

我通过 SQL 将数据以逗号分隔的形式返回到 asp.net 标签。我正在提取 x、y 和 c 数据。我正在使用第三个变量来告诉我数据属于哪个集合(我有多个集合)。现在,这些集合具有不同的域,所以让我们使用一个玩具示例:

X = [1,0.5,0.75,0.8; 10,5,7.5,8; 100、50、75、80]

Y = [2,3,4,5; 20,30,40,50; 200、300、400、500]

C = [1,1,1,1; 2,2,2,2; 3,3,3,3]

我已经设置好了,所以当用户从下拉列表中选择一个集合时,我只通过运行显示该集合

.attr("r", function (d) { if(d.c == $('#pick').val()) return 1; else return 0})

但当然,显示这些的适当尺度是完全不同的!我确定域的方式总是返回最大值(对于 X 将是 100)

  var x = d3.scale.linear().domain([0, d3.max(datafiltered, function (d) { return parseInt(d.x) }) * 1.1]).range([0 + margin, w - margin]),

有没有办法在 onclick 事件中重置它?

4

1 回答 1

1

用 onclick 处理程序中的新比例(基本上重复实例化 d3.scale 的行)替换比例(x在您的情况下),然后重绘可视化。如果覆盖比例,则不需要更改任何实际的可视化代码。

于 2012-05-23T16:17:30.813 回答