function createTable(width, height, columnScale, rowScale, colorScale, columnData, rowData) {
const svg = d3.select(DOM.svg(width, height));
const rows = svg.selectAll('.row')
.data(rowData)
.join('g')
.attr('class', 'row');
rows.each(function(cellValues, rowIndex) {
d3.select(this)
.selectAll('rect')
.data(cellValues)
.join('rect')
.attr('x', (_, i) => columnScale(i))
.attr('y', rowScale(rowIndex))
.attr('width', columnScale.bandwidth())
.attr('height', rowScale.bandwidth())
.style('fill', (d, i) => colorScale(columnData, i, d));
});
return svg.node();
}