D3.js v5的加载行为与Jupyter Notebook中的v3不同

时间:2019-07-10 21:30:33

标签: d3.js jupyter-notebook

我希望一起使用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结合使用。

这是坏了还是我做错了什么?

0 个答案:

没有答案