我希望一起使用d3和Jupyter。我可以加载和使用d3的v3,但v5似乎已成功加载,但随后无法访问。
%%html
Hello
<SVG HEIGHT=100 WIDTH=100></SVG>
%%javascript
if (typeof(d3) !== "undefined") { d3=undefined; }
setTimeout(() => {
$.getScript("https://d3js.org/d3.v5.min.js")
.done(function (script, textStatus) {
console.log(textStatus);
d3.selectAll("SVG").
append("circle").
attr("r",10).attr("cx",10).attr("cy",10).attr("fill","red")});
}, 1000);
Chrome执行后,在Javascript控制台中显示以下错误
VM632:6 Uncaught TypeError: Cannot read property 'selectAll' of undefined
at Object.eval (eval at append_javascript (outputarea.js:762), <anonymous>:6:16)
at u (jquery.min.js:2)
at Object.fireWith [as resolveWith] (jquery.min.js:2)
at k (jquery.min.js:2)
at HTMLScriptElement.n (jquery.min.js:2)
at HTMLScriptElement.dispatch (jquery.min.js:2)
at HTMLScriptElement.y.handle (jquery.min.js:2)
HTML文件中捆绑的等效代码将加载并运行。更改d3网址以加载v3而不是v5也可以。
我已经在2个不同的Windows 10计算机上尝试了此操作,主要是在Chrome上,但在IE上具有相同的行为。 FWIW我尝试清除浏览器缓存。
我正在将Jupyter 5.7.4与Python 3.7.1结合使用。
这是坏了还是我做错了什么?