Форматирование диаграмм google программным способом

используя следующий код, как я могу установить форматирование так, чтобы CurrencyValue1 и CurrencyValue2 отображались с долларом (как значение валюты) на графике?

function drawChart() {
    var data = new google.visualization.DataTable();
    data.addColumn('date', 'Date');
    data.addColumn('number', 'CurrencyValue1');
    data.addColumn('number', 'CurrencyValue2');

    data.addRows(1);
    data.setValue(0, 0, new Date(2011, 8, 12));
    data.setValue(0, 1, 300.0000);
    data.setValue(0, 2, 759.1707);

    var chart = new google.visualization.LineChart(document.getElementById('chart_div'));

    chart.draw(data, { width: 660, height: 470, title: 'Heading', is3D: true, backgroundColor: '#f5f3e5' });
}

3 ответов


см. документацию: http://code.google.com/intl/cs-CZ/apis/chart/interactive/docs/reference.html#numberformatter

var data = new google.visualization.DataTable();
data.addColumn('date', 'Date');
data.addColumn('number', 'CurrencyValue1');
data.addColumn('number', 'CurrencyValue2');

var formatter = new google.visualization.NumberFormat(
      {prefix: '$', negativeColor: 'red', negativeParens: true});
formatter.format(data, 1);
formatter.format(data, 2);

это будет форматировать столбцы два и три, как деньги (с префиксом доллара, как "$15.00")


это идеальный формат для бразильской валюты:

  var formatter = new google.visualization.NumberFormat({decimalSymbol: ',',groupingSymbol: '.', negativeColor: 'red', negativeParens: true, prefix: 'R$ '});
  formatter.format(data, 1);

отлично работает с долларом, некоторые меняют R$ to $

10500.5 остаться 10.500,50, больше префикса

10500 остаться 10.500,00, больше префикса


Использование Данных.SetFormattedValue и изменить 3# param.

такой:

For i As Integer = 0 To dt.Rows.Count - 1
....

   str.Append("data.setValue( " & i & "," & 0 & "," & "'" & Cadena & "');")
   str.Append("data.setValue(" & i & "," & 1 & "," & Valor & ") ;")
    str.Append("data.setFormattedValue(" & i & "," & 1 & ",'" &  FormatCurrency(Valor.Replace(".", ",")) & "') ;")
next