postionChartsAtPoints = {
const svg = d3.create("svg")
.attr('width', dimensions.width)
.attr('height', dimensions.height)
const scales = []
const g = svg
.selectAll("g")
.data(data)
.join("g")
.attr('id',(d,i) => `pos-${i}`)
.attr('transform', (d, i) => `translate(${chartXScale(i+1)}, ${chartYScale(d.y)})`)
.each((d, i) => {
const barScale = d3.scaleBand()
.domain(d.barChart.map(accessor))
.range([ 0, dimensions.barChartHeight])
.padding(0.15)
const valueScale = d3.scaleLinear()
.domain([0, d3.max(d.barChart, accessor)]).nice()
.range([0, dimensions.barChartWidth])
d.barChart.map(node => {
node.barScale = barScale
node.valueScale = valueScale
})
})
g
.attr('class','other-element')
.append('circle')
.attr("r", 10)
.attr('cx', 0)
.attr('cy', 0)
.attr("fill", "red")
.attr('opacity', 0.5)
g.selectAll("rect")
.data((d,i) => d.barChart)
.join("rect")
.attr("fill", "#ccc")
.attr("x", 0)
.attr("y", (d,i) => d.barScale.step() * i)
.attr('width', (d,i) => d.valueScale(d.value))
.attr('height', (d) => d.barScale.bandwidth())
return svg.node()
}