Y-value eines d3.svg.line bei einem gegebenen x-value interpolieren
-
26-10-2019 - |
Frage
Wenn ich eine Linie habe (möglicherweise mit einer Spline-Interpolation) kann ich den interpolierten Y-Wert bei einem bestimmten X-Wert extrahieren? Vielen Dank!
Lösung
Es ist möglich, aber dafür gibt es noch keine eingebaute Einrichtung. Alle D3 -Splines werden als stückweise quadratische oder kubische Bézier -Kurven implementiert (weil sie zu SVG -Pfadelementen gerendert werden). Sie können verwenden de Casteljaus Algorithmus zum Berechnen der xy-Koordinaten für einen bestimmten Parameter t in [0,1].
Es ist etwas schwieriger zu berechnen y für ein gegebenes x Weil es möglich ist, mehrere zu haben y Werte für dasselbe x, abhängig von der Kurve. Dafür empfehle ich das an, dies anzusehen Bézier Curves Primer Dies beschreibt einen Algorithmus zum Berechnen einer Kurvenlinie; Dies könnte für eine vertikale Linie vereinfacht werden (konstant x).