Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.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
D3.js 可缩放图形是否需要每个缩放级别的不同数据集?_D3.js - Fatal编程技术网

D3.js 可缩放图形是否需要每个缩放级别的不同数据集?

D3.js 可缩放图形是否需要每个缩放级别的不同数据集?,d3.js,D3.js,假设您有一个条形图,它根据查看页面的当月日期来绘制页面浏览量。您可以这样表示数据: var data = [ { date: '05-05-2011', count: 6 }, { date: '05-06-2011', count: 10 } ... ] 条形图可能如下所示: 现在假设您希望“缩小”此图表,并按月查看视图。图表可能如下所示: 我的问题是:数据是否需要更改,以便 var data = [ { date: '05-2011', count: 100 }, { date: '06-

假设您有一个条形图,它根据查看页面的当月日期来绘制页面浏览量。您可以这样表示数据:

var data = [ { date: '05-05-2011', count: 6 }, { date: '05-06-2011', count: 10 } ... ]
条形图可能如下所示:

现在假设您希望“缩小”此图表,并按月查看视图。图表可能如下所示:

我的问题是:数据是否需要更改,以便

var data = [ { date: '05-2011', count: 100 }, { date: '06-2011', count: 131 } ... ]

或者d3是否有能力根据更细粒度的数据缩放条形图?

查看以下示例:

进行重新采样的代码在本节中:

function brushed() {
  x.domain(brush.empty() ? x2.domain() : brush.extent());
  focus.select("path").attr("d", area);
  focus.select(".x.axis").call(xAxis);
}

如果这不是您想要的,请道歉

查看下面的示例:

进行重新采样的代码在本节中:

function brushed() {
  x.domain(brush.empty() ? x2.domain() : brush.extent());
  focus.select("path").attr("d", area);
  focus.select(".x.axis").call(xAxis);
}

如果这不是您想要的,请道歉

不,您使用相同的数据集,而不考虑缩放是否可以在任何域范围内使用非常特定的数据制作有意义的条形图?例如,如果我的数据是每小时一次的,那么它可能是{date:'05-07-2011-7',count:2}。这意味着在2011年7月5日的第7小时有2个视图。但我如何“组合”所有05-07小时到一个单一的05-07酒吧,而不加上自己的计数?d3是否以某种方式处理了这个问题?不,您使用同一个数据集,而不管它的缩放情况如何。在任何域范围内,都可以使用非常特定的数据制作有意义的条形图?例如,如果我的数据是每小时一次的,那么它可能是{date:'05-07-2011-7',count:2}。这意味着在2011年7月5日的第7小时有2个视图。但我如何“组合”所有05-07小时到一个单一的05-07酒吧,而不加上自己的计数?d3是否以某种方式处理了这个问题?从技术上讲,它甚至不是重采样,它只是调整域--您选择要显示的数据部分,而不是更改数据。对,这调整了我看到的轴的比例。但这张图的问题是,你可以刷一个足够小的区域,这样你就可以得到x轴上的小时数,即使数据不够具体,在这个级别上也不重要。从技术上讲,这甚至不是重新采样,只是调整域——你选择要显示的数据部分,而不是改变数据。对,这会调整我看到的轴的比例。但是这个图表的问题是,你可以刷一个足够小的区域,这样你就可以得到x轴上的小时数,即使数据不够具体,在这个级别上也不重要。