使用缩写词格式化Google Chart Table列

时间:2016-03-11 09:11:55

标签: javascript google-visualization google-chartwrapper

可以这样做吗?

因此,如果我的值为1000000,我希望能够将日期格式设置为1m或1百万。

图表的轴可以找到确切的功能,可以在下面找到,但没有提到如何在表格列中进行操作

https://google-developers.appspot.com/chart/interactive/docs/customizing_axes#number-formats

2 个答案:

答案 0 :(得分:1)

Google Visualization API确实提供了一组formatters,专门用于格式化数据 包括...

  

ArrowFormat
  BarFormat
  ColorFormat
  日期格式
  NumberFormat的
  PatternFormat

以下是使用NumberFormat ...

的示例



google.charts.load('44', {
  callback: drawChart,
  packages: ['table']
});

function drawChart() {
  // adapted from previous example
  var data = google.visualization.arrayToDataTable(
    [['id', 'amt'],[1,1100244543243.223],[2,123034345431.2334],[3,213065432.23411],[4,1140.34231342342314],[5,360.454343343223],[6,50.5434221],[7,9.54324324314],[8,0.45324517]]
  );

  // format numbers in second column
  var formatter = new google.visualization.NumberFormat({
    prefix: '$',
    pattern: 'short'
  });
  formatter.format(data, 1);

  // draw chart
  var chart = new google.visualization.Table(document.getElementById('chart'));
  chart.draw(data, {});
}

<script src="https://www.gstatic.com/charts/loader.js"></script>
<div id="chart"></div>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

可以吗?是的。是的 怎么样?你可以创建自己的格式化程序 这是一个让你入门的片段。它不是一个完整的解决方案,但你可以做类似的事情

var NumberFormatter = function (number) {
    this.number = number;

    this.short = function(){
        var shortDescription = '';
        if (this.number%100000 == 0) {
            shortDescription = (this.number/100000) + 'M'
            return shortDescription;
        }
        return this.number;
    }
    return this;
}

console.log(new NumberFormatter(1800000).short());
//Sample output
18M