barchart = {
const svg = d3
.create("svg")
.attr("width", width + margin.left + margin.right)
.attr("height", height + margin.top + margin.bottom);
const xScale = d3
.scaleTime()
.domain([new Date(2020, 2, 1), new Date()])
.range([0 + margin.left, width - margin.right]);
const yScale = d3
.scaleLinear()
.domain([0, d3.max(hospitalizados.map(d => d.hospitalizados_planta))])
.range([height - margin.top, 0 + margin.bottom]);
const xAxis = g =>
g
.attr("transform", `translate(0,${height - margin.bottom})`)
.call(d3.axisBottom(xScale));
const yAxis = g =>
g
.call(
d3
.axisLeft(yScale)
.ticks(5)
.tickSize(-width + margin.left + margin.right)
)
.call(g => g.select(".domain").remove())
.call(g => g.selectAll("line").style("stroke", "lightgray"));
const bars = svg
.append('g')
.attr('class', 'bars')
.selectAll('rect')
.data(hospitalizados.sort((a, b) => d3.ascending(a.fecha, b.fecha)))
.enter()
.append('rect')
.attr('id', d => d.fecha + " " + d.pcr_positivos)
.attr('x', d => xScale(d.fecha))
.attr('y', d => yScale(d.hospitalizados_planta))
.attr('width', 3)
.attr('height', d => yScale(0) - yScale(d.hospitalizados_planta))
.style("fill", "#FBC654");
svg
.append("g")
.attr("class", "x axis")
.attr("transform", `translate(0, ${height - margin.bottom})`)
.call(xAxis)
.selectAll("text")
.style("text-anchor", "middle")
.style("font", "10px sans-serif");
svg
.append("g")
.attr("class", "axis y")
.attr("transform", `translate(${margin.left},0)`)
.call(yAxis)
.selectAll("text")
.style("font", "10px sans-serif");
return svg.node();
}