2016-03-11 7 views
1

Можно ли это сделать?Формат столбцов таблицы диаграммы Google с использованием сокращенных слов

Так что, если у меня есть значение 1000000, я хотел бы иметь возможность форматировать дату как 1m или 1million.

Точная функциональность доступна на оси диаграммы, которые можно найти ниже, но не говорится о том, как не сделать это в столбце таблицы

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

ответ

1

Визуализация API Google действительно предоставляет набор formatters, в частности, для форматирования данные.
Включая ...

ArrowFormat
BarFormat
ColorFormat
DateFormat
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>

+0

Спасибо, должен опробованным переходящей в «короткий» в шаблон. благодаря – Gillardo

0

ли это возможно? да есть.
как? Вы можете создать свой собственный форматировщик Вот отрывок, чтобы вы started.It не является полным решением, но вы можете сделать что-то подобное

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 

 Смежные вопросы

  • Нет связанных вопросов^_^