【问题标题】:How to show all x-axis values in nvd3如何在 nvd3 中显示所有 x 轴值
【发布时间】:2016-06-04 08:42:27
【问题描述】:

我有一个 nvd3 的折线图

这是我的代码:

var categories = color.domain().map(function(name) {
    return {
      key: name,
      values: data.map(function(d) {
        return {
          seme: d.Semester, 
          stat: d[name],
           area: true 
          };
      })
    };
  }); // end of categories

    nv.addGraph(function() {
    var chart = nv.models.lineChart()
    .x(function(d) { return parseFloat(d.seme); })
      .y(function(d) { return parseFloat(d.stat); }) 
      .color(['#ffbb78', '#ff7f0e', '#aec7e8', '#1f77b4'])
                .margin({left: 100})
                .transitionDuration(350)
                .showLegend(true)
                .showYAxis(true) 
                .showXAxis(true)
                 .width(width).height(height);
   chart.isArea(true);

这是我的图表:

我希望显示所有学期值,那么如何强制 x 轴显示学期的所有值?

我试过这个

chart.xAxis.axisLabel("Semester")
    .showMaxMin(false)    
    .tickValues(function(d) { return parseFloat(d.seme); })
    .tickFormat(d3.format(',f'));

这是我得到的:

【问题讨论】:

  • 使用这里回答的 tickValues stackoverflow.com/questions/26624430/…
  • 这应该返回一个数组.tickValues(function(d) { return parseFloat(d.seme); }) 你正在返回一个值。您应该返回学期数组。

标签: javascript d3.js nvd3.js


【解决方案1】:

有时只有 showMaxMin:false 不起作用。连同那个指定

x轴:{ 刻度:值 } 其中 value 是要显示的数据点的数量。 我必须显示 10 个数据点,所以下面对我有用。

xAxis: {ticks:10,showMaxMin:false}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多