Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.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图表的标称标签_Javascript_Json_D3.js_Pandas - Fatal编程技术网

Javascript 如何提取d3图表的标称标签

Javascript 如何提取d3图表的标称标签,javascript,json,d3.js,pandas,Javascript,Json,D3.js,Pandas,我正在努力适应d3中的数据对象的访问和操作 基本上,我试图创建条形图,根据其地址是否以方式,关闭,街道,大道来反映房产的平均价格 我使用Python中的Pandas对数据进行了快速搜索,然后将数据导出为三列,分别为district、street\u split和value “地区”列将用作键,以便在相邻面片中相同街道名称的值之间进行交换 代码和json的Plunk 我使用nest在地区上键入数据,然后在街道分割上键入数据,因此: var nested_data = d3.nest()

我正在努力适应d3中的数据对象的访问和操作

基本上,我试图创建条形图,根据其地址是否以
方式
关闭
街道
大道
来反映房产的平均价格

我使用Python中的Pandas对数据进行了快速搜索,然后将数据导出为三列,分别为
district
street\u split
value

“地区”列将用作键,以便在相邻面片中相同街道名称的值之间进行交换

代码和json的Plunk

我使用nest在
地区
上键入数据,然后在
街道分割
上键入数据,因此:

var nested_data = d3.nest()
                                .key( function(d){
                                    return d['district']})
                                .key(function(d) { return d.street_split; })                                
                                .entries(data);
虽然我可以访问下拉选择框的第一级键,其中包含以下代码行:

options.text(function (d) { return d.key; })
                    .attr("value", function (d) { return d.key; });
我无法确定如何访问
street\u split
级别

我能从谷歌找到的最好的函数是扩展函数,但它只返回限制(它应该返回)

我正在寻求建议或资源来处理d3中的查询基本数据操作


如果有帮助的话,我发现它对于理解d3.nest非常有用。

我的方法是基于原始的非嵌套数据创建一组street_extent列的每个值,如下所示:

var street_extent = d3.set();

data.forEach(function(d) {
                    street_extent.add(d['street_split']);

                });
然后创建一个包含这些标签的变量:

var street_labels = street_extent.values();
然后使用rangeRoundBands方法将其插入刻度

var street_scale = d3.scale.ordinal()
            .rangeRoundBands([0+margin, width], .1)
            .domain(street_labels);

我的方法是基于原始的非嵌套数据创建一组street_extent列的每个值,如下所示:

var street_extent = d3.set();

data.forEach(function(d) {
                    street_extent.add(d['street_split']);

                });
然后创建一个包含这些标签的变量:

var street_labels = street_extent.values();
然后使用rangeRoundBands方法将其插入刻度

var street_scale = d3.scale.ordinal()
            .rangeRoundBands([0+margin, width], .1)
            .domain(street_labels);