有人知道如何将extjs chart轴格式化为整数。数值轴也给出十进制值。我只想要轴上的整数值。
答案 0 :(得分:2)
定义你的最小值和最大值,然后在你的数据数组上加上你的最大轴值减去1的majorTickSteps,所以它比你的maxium少一个
感谢@tittercoder对majorTickSteps发表评论Sencha ExtJs 4.1.3
axes: [{
type: 'Numeric',
position: 'left',
fields: ['data1', 'data2', 'data3'],
title: 'Number of Hits',
grid: {
odd: {
opacity: 1,
fill: '#ddd',
stroke: '#bbb',
'stroke-width': 1
}
},
minimum: 0,
maximum: 10,
majorTickSteps: 9 // one less than max
}, {
type: 'Category',
position: 'bottom',
fields: ['name'],
title: 'Month of the Year',
grid: true,
label: {
rotate: {
degrees: 315
}
}
}]
答案 1 :(得分:1)
在模型中,将字段类型设置为“int”,它将丢弃小数。
Ext.define('MyModel', {
extend: 'Ext.data.Model',
fields: [
{
name: 'Foo',
type: 'int'
},
{
name: 'Bar',
type: 'int'
}
]
});
答案 2 :(得分:0)
定义轴时,可以使用标签渲染器功能
axes: [{
type: 'Numeric',
position: 'left',
grid: true,
fields: ['data1', 'data2'],
label: {
renderer: function (v) {
return v.toFixed(0);
}
}
},
{ ... }
]
当您有 v (v是标签的值)时,您可以使用轴值执行任何操作。在上面 .toFixed(0)的情况下,舍入到最接近的整数。
答案 3 :(得分:0)
我遇到了类似的问题。
yAxis: new Ext.chart.NumericAxis({
displayName: 'Visits',
labelRenderer: function(v) {
// return a value only if it is an integer
if(v.toString().indexOf(".") === -1){
return v;
}
}
})
这对我有用