Jestem względnie nowy w D3 i nie mogę zrozumieć, dlaczego coś nie działa .. Chcę narysować wykres liniowy z d3, a to działa dobrze, ale mam problemy z osiami.d3 linechart string domena oś X
z następującego kodu to idzie źle gdzieś, a ja nie wiem, jak rozwiązać ...
var x = d3.scale.linear()
.range([0, width]);
var xAxis = d3.svg.axis()
.scale(x)
.orient("bottom");
x.domain(d3.extent(data, function(d) { return d.age; }));
jeśli d.age jest liczbą całkowitą (jak 1; 2; 3 itd), to działa dobrze. Ale chcę ciągi na osi X. jak ("holandia", "Anglia", "Belgia").
Jeśli więc d.age jest liczbą całkowitą, rysuje wykres w porządku, jeśli d.age jest ciągiem, nic nie rysuje.
Próbowałem też zamiast liniowego używać liczby porządkowej, ale dało to nieprawidłowy wykres. (dziwne wyglądające linie ...).
Mam nadzieję, że ktoś może mi pomóc.
Dzięki za ciebie reakcji, wiedziałem, że muszę skali porządkowej, ale to dało taki dziwny wykres .. (zapętlenie linie itp). Ale użyłem range zamiast rangeRandsBands. Rozwiązało to problem (teraz mam tylko niewielki problem, że punkty i xaxis nie są na tym samym poziomie (widać pewne przesunięcie)). –
Zastanawiam się, dlaczego używać rangeRoundBands zamiast rangeBands? Wygląda na to, że unika artefaktów antyaliasingu, ale nie jest pewien, czy był inny powód, dla którego go używałeś. Dzięki. – yoyodunno
To jedyny powód. –