Почему процентное значение для startOffset в textPath не соответствует / не соответствует разным размерам окон? - PullRequest
0 голосов
/ 04 августа 2020

Я использую процентное значение для startOffset в textPath. Путь представляет собой нормальную кривую. В зависимости от размера окна мой текст отображается в разных процентилях при нормальном распределении. Я смущен, потому что процентные значения обычно чувствительны. Как я могу заставить текст последовательно начинаться с процентиля x?

textPath, который я использую, представляет собой нормальную кривую, полученную путем построения данных из обычного образца и использования этого для построения кривой

let curve = d3.line().curve(d3.curveBasis)
    .x( (d) => scale_x(d[0]) )
    .y( (d) => scale_y(d[1]) );

Когда я устанавливаю текстовый элемент, он успешно изгибается по пути. Однако, в зависимости от размера моего окна, когда я вызываю функцию, startOffset помещает текст в другую часть кривой.

d3.select("#svg1").select("#normal_g").append('text')
    .attr("text-anchor", "middle").attr("x", scale_x(mu))
    .attr("y",(d,i)=>dim.y+dim.height *.65)
 d3.select("#svg1").select("#normal_g").select('text')
    .append("textPath").text("Normal Distribution")
    .attr("href", "#normal") // #normal is a normal curve
    .attr("startOffset" , "50%") //<---This is the attribute that I'm confused by
...