javascript - 将 javascript 日期月份输出为文本?使用 C3.js

标签 javascript date datetime d3.js c3.js

下面的演示将日期字符串的月份部分输出为数字月份 1-12,并将其应用于x 轴 值。

  • 如何将月份输出为文本:Jan、Feb、Mar...(即使这被硬编码为文本,我也找不到文本、字符串的类型格式)。

目前 c3 的文档是有限的,到目前为止我的试验没有成功。

    var chart = c3.generate({
      bindto: '#chart',
      data: {
        x: 'x',
        columns: [
            ['x', '2013-01-01', '2013-02-01', '2013-03-01', '2013-04-01', '2013-05-01', '2013-06-01', '2013-07-01', '2013-08-01', '2013-09-01', '2013-10-01', '2013-11-01', '2013-12-01'],
            ['2014', 130, 120, 150, 140, 160, 150, 130, 120, 150, 140, 160, 150]
        ],
        type: 'bar'
      },
      axis: {
        x: {
          type: 'timeseries',
          tick: {
            format: function (x) { return (x.getMonth() + 1); }
          }
        }
      }
    });
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.11/d3.min.js"></script>
<script src="http://gopeter.de/misc/c3/c3.js"></script>

<div id="chart"></div>

最佳答案

您需要时间序列的原因是什么?类别可能更好。

为轴类型使用 C3 类别

如果您的 x 轴需要数字,则此方法很好。对于区域、轴范围或单个网格线很有用(我敢肯定还有其他)。您不能为类别数据分配区域。

var chart2 = c3.generate({
    bindto: '#chart',
    data: {
      x: 'x',
      columns: [
        ['x', 1, 2, 3, 4, 5, 6, 7, 8, 9],
        ['data1', 30, 200, 100, 400, 150, 250, 50, 100, 250]
      ],
      type: 'bar'
    },
    axis: {
      x: {
        categories: ['One', 'Two', 'Three', 'Four', 'Five', 'Six', 'Seven', 'Eight', 'Nine'],
        type: 'categorized'
      }
    },
    regions: [
        {axis: 'x', start: 1, end: 5, class: 'regionX'},
    ]
  });

http://c3js.org/samples/categorized.html

下面这个方法比较简单。当您需要做的最困难的事情是使用 chart.load 函数动态更新 x 轴时,这很有效。

var chart = c3.generate({
  bindto: '#chart',
  data: {
    x: 'x',
    columns: [
      ['x', 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
      ['2014', 130, 120, 150, 140, 160, 150, 130, 120, 150, 140, 160, 150]
    ],
    type: 'bar'
  },
  axis: {
    x: {
      type: 'categorized',
    }
  }
});

http://c3js.org/samples/data_stringx.html

关于javascript - 将 javascript 日期月份输出为文本?使用 C3.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27037423/

相关文章:

javascript - 多个动态 javascript 上传按钮

java - 计算日期的日期名称的算法

javascript - Angular2 第二天得到

c++ - 将以毫秒为单位的 Unix 时间戳转换为正常日期

c# - 现有MVC5应用程序中Noda Time的实现策略

javascript - 将图像传递给 Tesseract.js OCR

javascript - JS : Complex Promise chaining

来自自定义 jQuery AJAX 函数的 Javascript 回调

java - 如何将 JodaTime 与 Spring 和 Hibernate 一起使用?

datetime - 如何在 Flutter 中使用 Streams 更新时间?