Próbuję wypełnić obszar pod wykresem różnymi kolorami, w zależności od zakresów wartości x, np. Dla wartości x od 0 do 10 żółty, od 10 do 20 czerwony i tak dalej. Czy jest jakiś sposób na zrobienie tego?wypełnianie obszaru wykresu d3.js różnymi kolorami
Moje javascript dla pojedynczego koloru wypełnienia jest
var m = 80;
var w = 900 - 3*m;
var h = 600- 3*m;
var x = d3.scale.linear().range([0, w]);
var y = d3.scale.linear().range([h, 0]);
x.domain(d3.extent(data, function(d) { return d.time; }));
y.domain(d3.extent(data, function(d) { return d.points; }));
var line = d3.svg.line()
.x(function(d) {
return x(d.time);
})
.y(function(d) {
return y(d.points);
})
var graph = d3.select("#graph").append("svg:svg")
.attr("width", w+3*m)
.attr("height", h+3*m)
.append("svg:g")
.attr("transform", "translate(" + 1.5*m + "," + 1.5*m + ")");
var area = d3.svg.area()
.x(function(d) { return x(d.time); })
.y0(h)
.y1(function(d) { return y(d.points); });
graph.append("path")
.datum(data)
.attr("class", "area")
.attr("d", area)
.style("fill","steelblue");
Z góry dzięki!
Dzięki! To wydaje się działać! Ale jeśli liczba różnie zabarwionych obszarów i przystanków jest zmienna, w zależności od danych, które wykreślam, jak to zrobić? – user2834030
To samo. Wszystko jest dodawane w kodzie i możesz oczywiście użyć danych do zdefiniowania tego również, np. 'grad.selectAll (" stop "). dane (dane) .enter() ...'. –