d3 tickFormat 错误 - 将 v3 转换为 v4
d3 tickFormat error - converting v3 to v4
我正在尝试将 d3 从版本 3 转换为版本 4,但出现此错误:
Uncaught Error: invalid format: function (d) {
var prefix = d3.formatPrefix(d);
return prefix.scale(d) + prefix.symbol;
}
谁能告诉我如何解决这个问题?
var xScale = d3.scaleLinear()
.range([0, width])
.domain([2000, 2018])
.domain(d3.extent(countries, function(d) { return d.published_year; }))
//Set new x-axis
var xAxis = d3.axisBottom()
.ticks(10)
.tickFormat(function (d) {
return xScale.tickFormat((mobileScreen ? 4 : 8),function(d) {
var prefix = d3.formatPrefix(d);
return prefix.scale(d) + prefix.symbol;
})(d);
})
.scale(xScale);
//Append the x-axis
wrapper.append("g")
.attr("class", "x axis")
.attr("transform", "translate(" + 0 + "," + height + ")")
.call(xAxis);
更新:
我想在 v4 d3 中的 x 轴上显示年份,在 John 的帮助下,我在一行中完成了:
var xScale = d3.scaleLinear()
.range([0, width])
.domain([2000, 2018])
.domain(d3.extent(countries, function(d) { return d.published_year; }))
//Set new x-axis
var xAxis = d3.axisBottom()
.ticks(10)
.tickFormat(d3.format(""))
.scale(xScale);
d3.formatPrefix
没有被调用。它需要一个确定 SI 前缀的说明符字符串。
https://github.com/d3/d3-format/blob/master/README.md#locale_formatPrefix
我正在尝试将 d3 从版本 3 转换为版本 4,但出现此错误:
Uncaught Error: invalid format: function (d) {
var prefix = d3.formatPrefix(d);
return prefix.scale(d) + prefix.symbol;
}
谁能告诉我如何解决这个问题?
var xScale = d3.scaleLinear()
.range([0, width])
.domain([2000, 2018])
.domain(d3.extent(countries, function(d) { return d.published_year; }))
//Set new x-axis
var xAxis = d3.axisBottom()
.ticks(10)
.tickFormat(function (d) {
return xScale.tickFormat((mobileScreen ? 4 : 8),function(d) {
var prefix = d3.formatPrefix(d);
return prefix.scale(d) + prefix.symbol;
})(d);
})
.scale(xScale);
//Append the x-axis
wrapper.append("g")
.attr("class", "x axis")
.attr("transform", "translate(" + 0 + "," + height + ")")
.call(xAxis);
更新: 我想在 v4 d3 中的 x 轴上显示年份,在 John 的帮助下,我在一行中完成了:
var xScale = d3.scaleLinear()
.range([0, width])
.domain([2000, 2018])
.domain(d3.extent(countries, function(d) { return d.published_year; }))
//Set new x-axis
var xAxis = d3.axisBottom()
.ticks(10)
.tickFormat(d3.format(""))
.scale(xScale);
d3.formatPrefix
没有被调用。它需要一个确定 SI 前缀的说明符字符串。
https://github.com/d3/d3-format/blob/master/README.md#locale_formatPrefix