Числа, разделенные запятыми, для оси во Flot

#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.