#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'
}
}]