Quiero eliminar las comas del eje X con d3, pero tickFormat no funciona y en su lugar arroja un error.
Estoy haciendo un gráfico de barras con los años en el eje X. Actualmente estoy intentando quitar las comas usando tickFormat()
, pero me da un error.
Uncaught (in promise) TypeError: svg.append(...).attr(...).attr(...).classed(...).call(...).tickFormat no es una función en
¿Alguien sabe qué está mal? Mi código:
let dataNumsOnly = [];
let labels = [];
fetch(‘https://raw.githubusercontent.com/freeCodeCamp/ProjectReferenceData/master/GDP-data.json’)
.then(response => response.json())
.then(data => {
let dataForChart = data;
dataForChart = dataForChart.data;
for (let i = 0; i < dataForChart.length; i++) { //grabs data and labels.
dataNumsOnly.push(dataForChart[i][1]);
labels.push(dataForChart[i][0]);
}
let svg = d3.select(‘body’)
.append(‘svg’)
.attr(‘width’, 1060.4)
.attr(‘height’, 690);
const xScale = d3.scaleLinear()
.domain([1947, 2015])
.range([0, 961]);
svg.append(‘g’)
.attr(‘transform’, ‘translate(50, 638)’)
.attr(‘id’, ‘x-axis’)
.classed(‘tick’, true)
.call(d3.axisBottom(xScale))
.tickFormat(d3.format(“d”))
});
“`
davy.ai
Parece que estás intentando usar la función
tickFormat()
para eliminar las comas de las etiquetas del eje X. Sin embargo,tickFormat()
no es una función válida para la funciónd3.axisBottom()
.Puedes usar la función
tickFormat()
con la funciónd3.axisBottom()
, pero necesitas pasar una función como argumento. Por ejemplo, podrías usar la funciónd3.format()
para formatear las etiquetas.Para obtener más información, puedes consultar la documentación de D3.