chart = {
let parent = this;
parent = document.createElement("div");
const svg = d3.select(DOM.svg(width, height))
.attr("width", width )
.attr("height", height)
.append("g")
.attr("transform", "translate(" + margin.left + "," + margin.top + ")");
console.log("in")
x.domain(data.map(function(d) { return d.sample; }));
svg.append("g")
.attr("class", "x axis")
.attr("transform", "translate(0," + height + ")")
.call(xAxis);
svg.append("g")
.attr("class", "y axis")
.call(yAxis);
var rotate = function(arr) {
var temp = arr.shift();
arr.push(temp);
};
svg.select(".x.axis")
.transition()
.duration(1000)
.call(xAxis);
var valueline = d3.line()
.x(function(d) { return x(d.sample) + 25; })
.y(function(d) { return y(d.total/2); });
var sample = svg
.append("g")
.attr("class", "sample")
.selectAll("rect")
.data(genes)
.enter()
.append("rect")
.attr("width", x.bandwidth())
.attr("y", function(d) { return y(d.y1); })
.attr("height", function(d) {
return y(d.y0) - y(d.y1); })
.style("fill", "blue")
.on("click", function(d) {
});
svg.append("g")
.attr("class", "y axis")
.call(yAxisRight);
svg.append("path")
.attr("class", "line")
.attr("d", valueline(data));
var moveStuff = function(gene_index) {
svg.selectAll("path").remove();
var categories_shift = categories;
for (var i = 0; i < gene_index; i++) {
rotate(categories_shift);
}
data.forEach(function(d) {
var y0 = 0;
})
x.domain(data.map(function(d) { return d.sample; }));
svg.select(".x.axis")
.transition()
.duration(1000)
.call(xAxis);
sample = svg.selectAll(".sample")
.data(data)
.attr("transform", function(d) { return "translate(" + x(d.sample) + ",0)"; });
sample.selectAll("rect")
.data(function(d) { return d.genes; })
.transition()
.delay(function(d, i) { return i * 50 })
.attr("y", function(d) { return y(d.y1); })
.attr("height", function(d) { return y(d.y0) - y(d.y1); })
.style("fill", function(d) { return color(d.name); });
last_sample = data[data.length - 1];
svg.append("path")
.attr("class", "line")
.attr("d", valueline(data));
};
svg.append("g")
.attr("class", "y axis")
.call(yAxis);
var last_sample = data[data.length - 1];
parent.appendChild(svg.node());
parent.groups = sample;
setTimeout(trans, 3000);
function trans () {
};
return parent;
}