D3.js 当d3js中存在数据重叠时,如何在x轴上显示标签?
我有一个函数,绘制一个堆叠的条形图。但是,x轴标签重叠,无法读取。如何解决此问题? 如果有太多的数据,我会很高兴能显示更少的刻度和标签。 您可以访问以下位置的项目: 代码可在以下位置访问:D3.js 当d3js中存在数据重叠时,如何在x轴上显示标签?,d3.js,D3.js,我有一个函数,绘制一个堆叠的条形图。但是,x轴标签重叠,无法读取。如何解决此问题? 如果有太多的数据,我会很高兴能显示更少的刻度和标签。 您可以访问以下位置的项目: 代码可在以下位置访问: 非常感谢您的帮助。我认为在较小的svg中显示所有的值并不好。你需要在这里做出决定。我可以给你两个建议: 您可以创建可滚动的svg和显示 或者不显示图例上显示的x轴值 但是,如果您仍然希望显示,您可以创建自己的自定义逻辑,如下所示: 可以在x轴上使用“勾选值”钩子,并选择要显示的值。在我的例子中,我想显示5个
非常感谢您的帮助。我认为在较小的svg中显示所有的值并不好。你需要在这里做出决定。我可以给你两个建议:
g.append("g")
.attr("class", "axis")
.attr("transform", "translate(0," + height + ")")
.transition()
.duration(1000)
.call(d3.axisBottom(x).tickValues(x.domain().filter((d, i) => {
const value = Math.floor(data.length/5)
return i % value === 0;})))
.selectAll("text")
.style("text-anchor", "middle")
.attr("dx", "3em")
.attr("dy", "1em")
.attr("transform", "rotate(30)");
请在-找到工作代码,我认为在较小的svg中显示所有值并不好。你需要在这里做出决定。我可以给你两个建议:
g.append("g")
.attr("class", "axis")
.attr("transform", "translate(0," + height + ")")
.transition()
.duration(1000)
.call(d3.axisBottom(x).tickValues(x.domain().filter((d, i) => {
const value = Math.floor(data.length/5)
return i % value === 0;})))
.selectAll("text")
.style("text-anchor", "middle")
.attr("dx", "3em")
.attr("dy", "1em")
.attr("transform", "rotate(30)");
请在以下网址查找工作代码: