我提供了一个有效的示例和2个数据集,一个数据集可以正常工作,另一个数据集不能显示正确的图形。我在x轴上使用.ticks()函数,并遇到了这个问题。我想在工作示例中在x轴上显示所有标签。
https://jsfiddle.net/q0yhobs4/
这是小提琴内部代码的一部分。
let correctData={
2004: 226.933,
2005: 222.807,
2006: 221.869,
2007: 223.978,
2008: 218.385,
2009: 217.668,
2010: 216.061,
2011: 214.631,
2012: 214.053,
2013: 213.845,
2014: 206.436,
2015: 209.915,
2016: 214.51,
2017: 220.605,
2018: 222.128,
2019: 223.075
}
let asd = Object.keys(results)
asd = asd.map(item => parseInt(item))
x.domain(
d3.extent(data, function(d) {
return d.year;
})
);
svg
.append("g")
.attr("transform", "translate(0," + height + ")")
.call(d3.axisBottom(x).ticks(asd.length));
[我阅读了您的代码,发现asd
和results
的计数不是10 NOT16。我认为问题出在这里。