#javascript #jquery #flot
#javascript #jquery #flot
Вопрос:
Есть ли способ заставить Flot разделять номера осей запятыми?
Так, например, вместо 1000000 получаем 1000000
Ответ №1:
Вы можете сделать это, используя свойство tickFormatter оси.
xaxis: {
tickFormatter: function(val, axis) {
// insert comma logic here and return the string
}
}
Источник: http://people.iola.dk/olau/flot/API.txt (в разделе «Настройка осей»)
На этой странице есть функция для форматирования чисел с помощью запятых: http://www.mredkj.com/javascript/nfbasic.html
Например, на yaxis:
$(function () {
var plotarea = $("#plotarea");
$.plot( plotarea , [data], {
xaxis: {mode: "time", timeformat: "%m/%d %H:%M:%S"},
yaxis: {tickFormatter: function numberWithCommas(x) {
return x.toString().replace(/B(?=(?:d{3}) (?!d))/g, ",");
}
},
points: { show: true },
lines: { show: true, fill: true }
} );
});
Комментарии:
1. Я видел это, но не совсем понял, как функция работает с этим, хотя
2. Всякий раз, когда Flot захочет напечатать значение галочки для оси, он передаст значение (‘val’ вверху) и ось в предоставленную вами функцию, и он будет использовать возвращаемое значение этой функции в качестве метки галочки. Скажем, выше, если бы вы заменили комментарий на return «foo» , то все ваши метки тиков были бы «foo»
3. И ось должна быть ‘x’ или ‘y’?
4. Зависит от того, какую ось вы хотите отформатировать. Если это и то, и другое, то вы захотите установить это свойство для обеих осей.
5. О, я слишком дотошен. Я не понимал, что это входит в
xaxis:
илиyaxis:
. Обновил ваш пост рабочим полным примером для yaxis.