{
const width = 600;
const height = 600;
let rowHeight = height/6
let rowGap = 6;
let margin = {"top": rowHeight/3, "bottom": rowHeight/3}
const svg = d3.select(DOM.svg(width, height));
const colorRamp = d3.scaleLinear()
.domain([0, 1, 2, 4])
.range(["#D22027", "#FDB52A", "#589643", "#027546"])
data.forEach( function (comp, i) {
svg.append("line")
.attr("x1", 0)
.attr("x2", width)
.attr("y1", margin.top + i * rowHeight)
.attr("y2", margin.top + i * rowHeight)
.attr("stroke-width", 0.75)
.attr("stroke", "#999999")
svg.append("rect")
.attr("y", margin.top + rowHeight * i + rowGap/2)
.attr("height", rowHeight - rowGap)
.attr("width", rowHeight/5)
.attr("fill", colorRamp(Math.floor(comp.maturity)))
let littleRow = (rowHeight - rowGap)/comp.dimensions.length
})
svg.append("line")
.attr("x1", 0)
.attr("x2", width)
.attr("y1", margin.top + 5 * rowHeight)
.attr("y2", margin.top + 5 * rowHeight)
.attr("stroke-width", 0.75)
.attr("stroke", "#999999")
return svg.node()
}