El eje de fechas de mi gráfico de líneas d3 contiene una combinación de meses y días de la semana. Solo quiero que sean los meses y el día del mes (por ejemplo, 15 de febrero).
¿Alguien sabe cómo arreglar esto?
Súper nuevo en d3.js, así que disculpe.
¡Gracias!
//create scales const yScale = d3.scaleLinear() .domain(d3.extent(dataset, yAccessor)) .range([dimensions.boundedHeight, 0]) const xScale = d3.scaleTime() .domain(d3.extent(dataset, xAccessor)) .range([0, dimensions.boundedWidth]) // draw data const lineGenerator = d3.line() .x(d => xScale(xAccessor(d))) .y(d => yScale(yAccessor(d))) const line = bounds.append("path") .attr("d", lineGenerator(dataset)) .attr("fill", "none") .attr("stroke", "#af9358") .attr("stroke-width", 2) //draw peripherals const yAxisGenerator = d3.axisLeft() .scale(yScale) const yAxis = bounds.append("g") .call(yAxisGenerator) const xAxisGenerator = d3.axisBottom() .scale(xScale) const xAxis = bounds.append("g") .call(xAxisGenerator) .style("transform", `translateY(${ dimensions.boundedHeight }px)`) const xAxisLabel = xAxis.append("text") .attr("x", dimensions.boundedWidth / 2) .attr("y", dimensions.marginBottom -10) .attr("fill", "black") .style("font-size", "1.4em") //.html("Date") } drawLineChart()Solucionado esto yo mismo usando
.tickFormat(d3.timeFormat ("%d %b")) como un método en la función del eje, es decir
const xAxisGenerator = d3.axisBottom() .scale(xScale) .tickFormat(d3.timeFormat ("%d %b"))