d3 Liniendiagramm Animationen von links nach rechts
Ich bin daran interessiert, ein Liniendiagramm zu erstellen - die sich zieht von links nach rechts - im wesentlichen Punkte, die in der x-Achse zu verbinden.
http://bl.ocks.org/markmarkoh/8700606 http://bl.ocks.org/duopixel/4063326
Dies ist die jsfiddle, die ich gemacht habe Erstellung dieser Grafik zu starten. http://jsfiddle.net/NYEaX/1512/
//__invoke line
$('[data-role="line"]').each(function(index) {
createLine(this);
});
function createLine(el){
var w = $(el).data("width");
var h = $(el).data("height");
var svg = d3.select($(el)[0])
.append("svg")
.attr("width", w)
.attr("height", h);
var data = d3.range(11).map(function(){return Math.random()*10})
var x = d3.scale.linear().domain([0, 10]).range([0, 700]);
var y = d3.scale.linear().domain([0, 10]).range([10, 290]);
var line = d3.svg.line()
.interpolate("cardinal")
.x(function(d,i) {return x(i);})
.y(function(d) {return y(d);})
var path = svg.append("path")
.attr("d", line(data))
.attr("stroke", "steelblue")
.attr("stroke-width", "2")
.attr("fill", "none");
var totalLength = path.node().getTotalLength();
path
.attr("stroke-dasharray", totalLength + " " + totalLength)
.attr("stroke-dashoffset", totalLength)
.transition()
.duration(2000)
.ease("linear")
.attr("stroke-dashoffset", 0);
svg.on("click", function(){
path
.transition()
.duration(2000)
.ease("linear")
.attr("stroke-dashoffset", totalLength);
});
/* plot axis */
var padding = 100; // space around the chart, not including labels
// define the x axis
var xAxis = d3.svg.axis()
.orient("bottom")
.scale(x);
//.tickFormat(date_format);
// draw x axis with labels and move to the bottom of the chart area
svg.append("g")
.attr("class", "xaxis axis") // two classes, one for css formatting, one for selection below
.attr("transform", "translate(0," + (h - padding) + ")")
.call(xAxis);
/* plot axis */
}
Ja, das ist gut man - wie würde ich die Achse aufzuräumen - im Wesentlichen die schwarzen Linien entfernen - ich war nicht sicher, auch darüber, wie mit einem Datumsbereich einige gefälschte JSON-Daten erstellen und wenn ja, um die x-Skala auf eine Zeitskala einzustellen? –
Wenn Sie die Mindestanzahl an Code ändern möchten, habe ich die Geige aktualisiert, um das Bild oben nachzuahmen: http://jsfiddle.net/stancheta/ystymLm4/7/ und einige Kommentare einfügen, um zu erklären, was ich geändert habe. Lassen Sie mich wissen, wenn sie unklar sind. –
Das sieht gut aus Mann - es gibt eine Prämie, wenn Sie helfen möchten, diesen Teil zu lösen --- http://stackoverflow.com/questions/39156400/d3-animating-a-bubble-chart-within-a-geben- Radius/39197206 # 39197206 –