В настоящее время в Интернете нет примера пузырьковой диаграммы с легендой, использующей dc.js и функцию dc.legend().
that.sessions_scatterplot
.width(830)
.height(350)
.transitionDuration(1000)
.margins({top: 100, right: 10, bottom: 30, left: 25})
.dimension(that.dim_Source)
.group(that.fact_Source_Sessions)
.ordinalColors(["#70c5a4","#8cd4f2","#fdc976","#9d97c8"])
.colorAccessor(function(d){
return d.value.src_category;
})
.keyAccessor(function (d) {
var x = d.value.avg_time/d.value.count;
return x;
})
.valueAccessor(function (d) {
var y = d.value.hundred_bounce_rate/d.value.count;
return y;
})
.radiusValueAccessor(function (d) {
var r = Math.round(d.value.sessions/d.value.count);
return r;
})
.title(function(p){
return [p.key,
"Average Time On Page: " + (p.value.avg_time/p.value.count).toFixed(2),
"100 - Bounce Rate: " + (p.value.hundred_bounce_rate/p.value.count).toFixed(2),
"Sessions / Page Views: " + (p.value.sessions/p.value.count).toFixed(2)]
.join("\n");
})
.renderTitle(true)
.maxBubbleRelativeSize(0.03)
.x(d3.scale.linear().domain(that.avg_time_extent).range([0,that.width]))
.y(d3.scale.linear().domain(that.hundred_bounce_rate_extent).range([0,that.height]))
.r(d3.scale.linear().domain(that.sessions_pg_views_extent))
.minRadiusWithLabel(30)
.yAxisPadding(0.5)
.xAxisPadding(500)
.xAxisLabel('Average Time On Page')
.yAxisLabel('100 - Bounce Rate')
.legend(dc.legend().x(200).y(30).gap(5).horizontal(true).itemWidth(100).legendWidth(200));
ДОЛЖЕН каким-то образом использовать легенды в пузырьковой диаграмме.
Предположения:
1) Использовались верхние поля.
2) Использовалась функция colorAccessor() для окрашивания пузырьков. с помощью группы.
3) Элемент 'g' добавляется к 'svg', а класс 'dc-legend' присваивается элементу 'g'. Но в легенде нет дочерних элементов.