我想更改图表中y轴的值,例如,不显示[0,18],而是显示[-18,0]。
我的轴的初始代码是:
var y = d3.scale.linear().range([height, 0]);
var yAxis = d3.svg.axis()
.scale(y)
.orient("left");
我试着像这样修改它:
var yAxisInv = d3.svg.axis()
.scale(y)
.orient("left")
.ticks(10)
.tickValues([-18, -16, -14, -12, -10, -8, -6, -4, -2, 0]);
但它只是向下移动整个轴。我想做的是更改显示的值而不更改数据
在图片中,它看起来像这样:
答案 0 :(得分:2)
您可以使用tickFormat
功能定义各个滴答的显示方式。
我认为以下内容可行:
var yAxis = d3.svg.axis()
.scale(y)
.orient("left");
.tickFormat(function(d) {
return -18+d;
})