Я пытаюсь добавить дополнительные опции визуализации в Apache Zeppelin, интегрируя его с d3.js
Я нашел пример, где кто-то сделал это с помощью leaflet.js здесь, и попытался сделать что-то подобное - к сожалению, я не слишком знаком с angularJS (что Zeppelin использует для интерпретации интерфейсных языков). Я также не передаю данные. Ниже приведен мой код, используя простой пример учебника из d3.js
%angular
<div>
<svg class="chart"></svg>
</div>
<script>
function useD3() {
var data = [4, 8, 15, 16, 23, 42];
var width = 420,
barHeight = 20;
var x = d3.scale.linear()
.domain([0, d3.max(data)])
.range([0, width]);
var chart = d3.select(".chart")
.attr("width", width)
.attr("height", barHeight * data.length);
var bar = chart.selectAll("g")
.data(data)
.enter().append("g")
.attr("transform", function(d, i) { return "translate(0," + i * barHeight + ")"; });
bar.append("rect")
.attr("width", x)
.attr("height", barHeight - 1);
}
if (window.d3) {
useD3();
} else {
var sc = document.createElement('script');
sc.type = 'text/javascript';
sc.src = 'https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.16/d3.min.js';
sc.onload = useD3;
sc.onerror = function(err) { alert(err); }
document.getElementsByTagName('head')[0].appendChild(sc);
}
</script>
Однако в Zeppelin он заканчивается без ошибок, и все, что я получаю, это пустой div. Любая помощь приветствуется.