如何在D3图表中更改xaxis标签?

时间:2017-02-19 11:35:45

标签: d3.js label

以下代码显示了我当前的图表。如何编辑xaxis的标签以显示“2015”,“2016”,“2017”,“2018”和“2019”的年份?我在这个D3中真的很新。

var data = new Array (1, 2, 3, 4, 5);
var x_scale = d3.scale.linear()
      .domain([0,d3.max(data, function(d,i) { return i+1 })])
      .range([62,540])
    var xAxis = d3.svg.axis()
      .scale(x_scale)
      .tickSize(0,0)
      .ticks(5)
      .tickPadding(6)
      .orient("bottom");
    d3.select("svg").append("g")
      .call(xAxis)
      .attr("class","xaxis")
      .attr("transform","translate(0,364)");


var y_scale = d3.scale.linear()
  .domain([d3.max(data, function(d) { return d }),0])
  .range([54,364])
var yAxis = d3.svg.axis()
  .scale(y_scale)
  .tickSize(-10,0)
  .ticks(5)
  .tickPadding(6)
  .orient("left");
d3.select("svg").append("g")
  .call(yAxis)
  .attr("class","yaxis")
  .attr("transform","translate(62,0)");


var saeule = d3.select("#saeulen").append("g")
  .attr("class","saeule")
  .style("color","#F49600");
var bar_padding=10;
var bar_width=x_scale(1)-x_scale(0)-bar_padding;
saeule.selectAll("g")
  .data(data)
  .enter() 
  .append ("rect")
    .attr("fill","#F49600")
    .attr("x" , function (d,i) { return (x_scale(i+1) - (bar_width/2)) })
    .attr("y", function (d,i) { return (y_scale(d)) })   
    .attr("width", bar_width)
    .attr("height", function (d,i) { return (y_scale(0)-y_scale(d)) });

1 个答案:

答案 0 :(得分:0)

您可以在x轴上给出自己的刻度格式:

var xAxis = d3.svg.axis()
  .scale(x_scale)
  .tickSize(0,0)
  .ticks(5)
  .tickPadding(6)
  .orient("bottom")
  .tickFormat(function(d){return d+2015;});//will return 2015 for 0 2016 for 1 etc.

工作代码here