http://bl.ocks.org/d3noob/5028304Sankey Diagram (D3) - Как использовать несколько единиц для значений ссылок и как добавлять заметки в всплывающее окно мыши?
Глядя на этом примере, парит над ссылкой показывает источник, цель и значение. Значение добавляется с переменной «units», которая для этого примера - «Widgets».
var units = "Widgets";
var formatNumber = d3.format(",.0f"), // zero decimal places
format = function(d) { return formatNumber(d) + " " + units; },
color = d3.scale.category20();
Есть ли способ создания классов, так что связь между одним источником и целью добавляется с одним типом устройства и другие используют разные единицы? В этом примере предположим, что нам нужны связи между «Энергией» и всеми его целями, чтобы использовать MWh для своих устройств, но все другие ссылки будут использовать Widgets.
Я также хотел бы знать, как добавлять заметки, такие как URL-адреса, в текстовое поле, которое появляется при наведении мыши.
Скотт, что-то вроде .. ... в JSON: {"source": "Source1", "target": "Target1", "value": "40.0", "units": "Gbps"} ... in .html: var formatNu mber = d3.format (",. 0"), format = function (d) {return formatNumber (d) + "" + d.units; }, – Lokitez
В связанном примере это выглядит так: d, переданный в format(), фактически является d.value из данных. Таким образом, вам нужно либо передать всю дату в свой формат (а затем d.value в formatNumber) или передать d.value и d.unit в формат в виде двух аргументов. –
Я понимаю, что вы говорите, что нужно сделать, но я не могу понять, как это сделать. Мне действительно не нужно число, которое нужно отформатировать. Мне просто нужно заставить его показать «значение» + «+» единиц. – Lokitez