В Extjs как мы можем удалить десятичные значения из 3D-панели по оси Y?

#extjs

#extjs

Вопрос:

введите описание изображения здесь

Я использую type: ‘bar3d’, Extjs 6.0.2. Внутри элементов, которые я

  axes: [{
          type: 'numeric3d',
          integerOnly: true,
          minimum: 0,
          minorTickSteps: 1,
         },
       {
         type: 'category3d',
         grid: true,                        
         title: {
              text: 'Queues'
            }
      }]
  

Как я могу удалить десятичные числа из оси y? Я переношу только целочисленные значения на ось y.

Ответ №1:

Один из способов сделать это — установить majorTickSteps на оси, чтобы соответствовать разнице между максимальным и минимальным значениями оси. Поскольку вы установили минимальное значение равным 0, вам просто нужно определить максимальное значение поля вызовов в хранилище. Это автоматически станет максимальным значением на оси, поэтому устанавливать максимальное значение не нужно.

         axes: [{
            type: 'numeric3d',
            minimum: 0,
            majorTickSteps: store.max('calls'),
            fields: ['calls']
        }, {
            type: 'category3d',
            position: 'bottom',
            title: 'Categories',
            fields: ['name'],
        }],
  

Смотрите Скрипку: https://fiddle.sencha.com/#fiddle/1iqp

Если бы у вас были нецелые значения, вам нужно было бы установить максимальное значение и значение majorTickSteps на следующее по величине целое число, большее максимального значения.

Ответ №2:

Десятичные числа по оси Y можно легко удалить, добавив небольшую проверку при рендеринге осей.

 axes: [{
        type: 'numeric3d',
        position: 'left',
        minimum:0,                      
        fields: ['field1','field2'], 
        renderer: function (label, layout, lastLabel) {
            var string = layout.toString(); 
            var found = string.indexOf('.');
            if(found == '-1') {
                return layout;  
            } else {
                return ' '
            }

        },
        grid: {
            odd: {
                fillStyle: 'rgba(245, 245, 245, 2)'
            },
            even: {
                fillStyle: 'rgba(255, 255, 255, 2)'
            }
        },

        title: {
            text: 'Title Name'
        }

    }]