Wykres wielu serii (D3) z brakującymi wartościami
Na tej podstawie chcę stworzyć wykres liniowy dla wielu serii z D3przykład. Mój problem polega na tym, że brakuje niektórych wartości:
y x1 x2 x3
1 0.8 0.7
2 0.9 0.7
3 0.9 1.2 0.7
4 1.1 0.7
5 0.8 1.1 2.7
6 0.9 1.2 2.6
7 1.3 0.8
Chcę uzyskać następujący wykres:
Brakujące punkty na początku lub na końcu należy pominąć. Mógłbym to osiągnąć
d3.svg.line().defined(function (d) { return d.value; }
Ale jeśli w linii brakuje pewnych punktów, linia nie powinna być przerywana. Z kodem powyżej zielona linia (x1) zatrzymuje się przy y = 3 i kontynuuje przy y = 5. Ale chcę połączyć te punkty.
Bez użycialine().defined()
, wszystkie brakujące punkty były traktowane tak, jakby ich wartość była0
.
Oto kod, którego użyłem, aby znaleźć sposób na wdrożenie tej funkcji:
Myślę, że nie jest rozwiązaniem dla mnie zastąpienie brakujących punktów w tablicy danych przed przekazaniem ich do funkcji wykresów, ponieważ muszę pokazywać wartości w legendzie iw podpowiedziach i nie mogę tutaj pokazywać obliczonych wartości. Na przykład, jeśli poruszę myszą nad y = 4, powinien pojawić sięx1:-- x2:1.1 x3:0.8
w legendzie (x1 nie ma tutaj żadnej wartości). Również (rzeczywiste) punkty powinny być wyświetlane jako okręgi. Nie chcę też mieć dwóch tabel danych w pamięci (jednej z rzeczywistymi danymi pomiarowymi, a drugiej z rozszerzonymi danymi dla linii wykresu).