Как настроить подсказки для отображения процентов в соответствии с осью в линейной диаграмме визуализации Google?
подсказки можно настроить для отображения процентов, используя следующий код:
var formatter = new google.visualization.NumberFormat({ fractionDigits: 2, suffix: '%' }); formatter.format(data, 1); // Apply formatter to first column.
есть ли способ для NumberFormat умножить каждый элемент на 100? В противном случае всплывающая подсказка отображается как.50%.
Я использую vAxis.format = "format:'#%' "
который умножается на 100. Так. 5 отображается как 50% на вертикальной оси.
согласно документации (icu-project.org/apiref), это можно перезаписать, заключив % в одинарные кавычки, но это не так работа.
в результате всплывающие подсказки не совпадают с осью. Как лучше всего это сделать?
спасибо.
4 ответов
я получил эту работу, указав форматер точно так же, как и вы:
var chartData = google.visualization.arrayToDataTable(tableData);
var formatter = new google.visualization.NumberFormat({
fractionDigits: 2,
suffix: '%'
});
formatter.format(chartData, 1);
на 1
в последнем вызове означает второй столбец, в котором у меня есть значения float.
затем я указываю формат для оси в параметрах диаграммы, избегая знака процента, как указано в документации и других здесь:
var chartOptions = {
vAxis: { format: '#\'%\'' }
};
затем я рисую диаграмму:
var chart = new google.visualization.ColumnChart(document.getElementById('chart'));
chart.draw(chartData, chartOptions);
это отображает левую боковую ось со значениями, такими как 10%
, 20%
и так далее. И всплывающие подсказки выглядят как по умолчанию, но с процентом, как 10.10%
, 20.20%
и так далее.
если вы хотите две цифры дроби в левой боковой оси, а также использовать этот формат в опциях графику вместо:
vAxis: { format: '#.00\'%\'' }
var formatter = new google.visualization.NumberFormat({
pattern: '#%',
fractionDigits: 2
});
спасибо http://groups.google.com/group/google-visualization-api/
вы должны окружить символ процента ( % ) в одинарных кавычках.
строка, которую я использовал для этого, выглядит так:options['vAxis'] = {'format': "#,###'%'"};
комбинируя это с вашим форматером выше, вы можете сделать вертикальную ось символом процента, а также сделать подсказку включить его тоже.
Ok... Так что немного поздно. Признаюсь, семь лет назад мне это было не нужно. Тем не менее, это сработало.
var rows = data.getNumberOfRows();
for (var i = 0; i < rows; i++) {
data.setFormattedValue(i, 4, (data.getFormattedValue(i, 4)*100).toFixed(1) + "%"); //LY
data.setFormattedValue(i, 3, (data.getFormattedValue(i, 3)*100).toFixed(1) + "%"); //TY
}
в моем случае я использую четыре столбца, два из которых назначаются правой оси с процентами. Я хотел, чтобы подсказки этих столбцов отражали правильный процент, а не десятичное представление.
вот ссылка на документы Google:
https://developers.google.com/chart/interactive/docs/reference#DataTable_setFormattedValue
Я надеюсь, что это поможет какой-то случайный незнакомец ищет его. ;)