D3 4.0+在导入Jupyter Notebook时不会创建一个全局D3变量
D3 4.0+ does not create a global d3 variable when imported into Jupyter Notebook
使用JavaScript ReferenceError
将失败:
from IPython.display import HTML, display
display(HTML("""
<script src="https://d3js.org/d3.v4.js"></script>
<script>
console.log(d3);
</script>
"""))
为什么?
等效D3版本3。X将工作(尽管在第二次尝试,对我来说):
from IPython.display import HTML, display
display(HTML("""
<script src="https://d3js.org/d3.v3.js"></script>
<script>
console.log(d3);
</script>
"""))
这是我能找到的关于这个话题最相关的问题/答案。
我有一个解决方案:
http://makeyourowntextminingtoolkit.blogspot.co.uk/2016/09/interactive-d3v4js-in-jupyter-notebook.html本质上你需要使用require.js ..
这原来是由于d3
导出自身的方式发生了内部变化。3.x分支版本的d3
导出所有的内部作为全局变量(源代码);4.X分支版本不再这样做(源代码)。现在期望使用包管理器(如require.js
),而导出则通过管道传输到该管理器。
详细信息请参见必要的GitHub问题。
你现在应该做的是:
<script src="scripts/require.js"></script>
<script>var d3 = require('d3')</script>
在此之后,一切都应该如预期的那样工作。
相关文章:
- 仅当变量有值时才显示D3文本标签
- 在将csv文件中的数据分配给数组变量时增强了d3代码
- D3.JS数据映射国家名称变量
- NVD3/D3派生变量
- D3:使用变量访问绑定数组中的对象
- 需要D3中条形图上关于年份和犯罪人数变量选择的帮助
- 在d3.js中将局部变量转换为全局变量
- d3.js onclick事件在单击时使用变量的值,而不是在绘制时
- d3-你能按分类变量排序吗
- 将数据从 javascript 变量导入 d3.js
- d3.nest 添加额外的变量
- d3.js变量未定义,但在Firefox控制台中,它可以工作
- d3 本地存储比较数组 .filter 咖啡脚本;数组变量不起作用
- 如何设置我的变量,以便 D3 数据更新找到正确的对象属性
- 如何在 d3 中获取变量属性
- 动态路径变量播放音频.mp3文件 如何?D3 JavaScript 咖啡脚本
- 根据数据变量的d3网络图的颜色链接
- 如何使用链接属性值作为变量在d3.json()方法中加载json
- D3 示例:看起来像一个 JavaScript 变量,但像一个函数一样调用
- D3 4.0+在导入Jupyter Notebook时不会创建一个全局D3变量