在 Jupyter Lab 中显示 d3.js 可视化
Display d3.js visualisation in Jupyter Lab
我想在 Jupyter Lab/JupyterLab 中显示 d3.js 可视化。我一直在关注各种网络教程,例如 this one,这些教程通常以
开头
%%javascript
require.config({
paths: {
d3: 'https://d3js.org/d3.v5.min'
}
});
这在 Jupyter Notebook 中有效,但在 Jupyter Lab 中我得到:
Javascript Error: require is not defined
如何在 Jupyter Lab 中显示 d3.js 可视化?
此功能由 Jupyter Lab javascript 扩展添加(默认安装)。你可以看到一个演示笔记本 here.
相关位如下。要添加 d3.js
,您需要:
%%javascript
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = '//cdnjs.cloudflare.com/ajax/libs/d3/4.13.0/d3.js';
document.head.appendChild(script);
console.log(window.d3)
然后以下应该起作用:
from IPython.display import Javascript
svg_script = '''
var svg = d3.select(element)
.append("svg")
.attr("width", 300)
.attr("height", 300);
svg.append("circle")
.style("stroke", "gray")
.style("fill", "cyan")
.attr("r", 130)
.attr("cx", 150)
.attr("cy", 150)
.transition()
.delay(100)
.duration(10000)
.attr("r", 10)
.attr("cx", 150)
.style("fill", "blue");
'''
Javascript(svg_script)
我想在 Jupyter Lab/JupyterLab 中显示 d3.js 可视化。我一直在关注各种网络教程,例如 this one,这些教程通常以
开头%%javascript
require.config({
paths: {
d3: 'https://d3js.org/d3.v5.min'
}
});
这在 Jupyter Notebook 中有效,但在 Jupyter Lab 中我得到:
Javascript Error: require is not defined
如何在 Jupyter Lab 中显示 d3.js 可视化?
此功能由 Jupyter Lab javascript 扩展添加(默认安装)。你可以看到一个演示笔记本 here.
相关位如下。要添加 d3.js
,您需要:
%%javascript
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = '//cdnjs.cloudflare.com/ajax/libs/d3/4.13.0/d3.js';
document.head.appendChild(script);
console.log(window.d3)
然后以下应该起作用:
from IPython.display import Javascript
svg_script = '''
var svg = d3.select(element)
.append("svg")
.attr("width", 300)
.attr("height", 300);
svg.append("circle")
.style("stroke", "gray")
.style("fill", "cyan")
.attr("r", 130)
.attr("cx", 150)
.attr("cy", 150)
.transition()
.delay(100)
.duration(10000)
.attr("r", 10)
.attr("cx", 150)
.style("fill", "blue");
'''
Javascript(svg_script)