选择函数在3.5.4版本的d3.js中不工作 [英] select function not working in 3.5.4 version of d3.js
本文介绍了选择函数在3.5.4版本的d3.js中不工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我已将d3.js从3.5.3更新到3.5.4。
自从上次更新以来我得到以下错误。代码代码适用于3.5.3版本。
I have updated d3.js from 3.5.3 to 3.5.4. I am getting below error since last update. The code code works on 3.5.3 version though.
D:\softwares\nodejs\node_modules\d3\d3.js:562
return n.querySelector(s);
^
TypeError: Cannot call method 'querySelector' of undefined
at d3_select (D:\softwares\nodejs\node_modules\d3\d3.js:562:14)
at Object.d3.select (D:\softwares\nodejs\node_modules\d3\d3.js:1043:17)
at IncomingMessage.<anonymous
(D:\softwares\nodejs\node_modules\chart.js:63:14)
at IncomingMessage.emit (events.js:92:17)
at _stream_readable.js:943:16
at process._tickCallback (node.js:419:13)
的代码,我得到错误?
我需要为使用3.5.4版本添加任何东西吗?
This is my line of code where I am getting error? Do I need to add anything more for using 3.5.4 version?
var svg = d3.select('body').html('').append('svg')
.attr('xmlns', 'http://www.w3.org/2000/svg')
.attr('xmlns:xlink', 'http://www.w3.org/1999/xlink')
.attr("width", width + margin.left + margin.right)
.attr('height', height + margin.top + margin.bottom)
.attr('id', 'app-d3-bar-chart')
.append("g")
.attr("transform", "translate(" + margin.left + "," + margin.top + ")")
推荐答案
自 d3#3.5.4 ,JSDOM是一个开发依赖。您将需要将其包括为依赖关系。注意,JSDOM 4.0.0需要io.js,对Node.js使用3.x。对于我的依赖关系工作是:
As of d3#3.5.4, JSDOM is a development dependency. You will need to include it as a dependency. Be mindful that JSDOM 4.0.0 requires io.js, use 3.x for Node.js. For me dependencies that work are:
"dependencies": {
"d3": "~3.5.5",
"jsdom": "~3.1.2"
}
在代码中替换行:
var svg = d3.select('body').html('').append('svg')
var document = require('jsdom').jsdom();
var svg = d3.select(document.body).html('').append('svg')
有关示例,请参阅此要点 。
这篇关于选择函数在3.5.4版本的d3.js中不工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文