Это должно иметь довольно простой и очевидный ответ, но мое исследование не принесло мне одного. Это вопрос. Это мой путь:Создание пути с правильными цифрами
svg.selectAll(".path")
.data(data.chartData, function(d){return d.vNm;})
.enter().append("path")
.attr("d", function(d){
return("M " + x(d.vNm) + " " + y(1200 + d.values.reduce(function(sum, d){return sum + d.amount;},0))
+ " L " + 43 + x(d.vNm) + " " + y(1200 + d.values.reduce(function(sum, d){return sum + d.amount;}, 0))
+ " L " + 21.5 + x(d.vNm) + " " + y(d.values.reduce(function(sum, d){ return sum + d.amount;}, 0)) + " z"
);
});
Как вы можете видеть, я пытаюсь добавить 43 и 21.5 к моему х (d.vNm). Я попытался сделать это несколькими способами, но безрезультатно. Это то, что проявляется в элементах, когда я пытаюсь:
(я не забочусь о ярлыках на данный момент, они будут превращены в легенде в ближайшее время, и я черные прямоугольники над каждым баром. Мне просто нужны треугольники, чтобы быть в нужном месте.)
Когда вы манипулируете номером 'float', способность представлять это число в двоичном формате практически невозможна, если они должны быть абсолютно идеальными, вы должны попробовать усечение или округление, если оно будет работать для вашей ситуации точности. –
Пример? @ iam-decoder –