3

有人可以知道如何将 extjs 图表轴格式化为整数。数值轴也给出十进制值。我只想要轴中的整数值。

4

4 回答 4

2

定义您的最小值和最大值,然后将majorTickSteps 与您的数据数组上的最大轴值减一相加,因此它比您的最大值小一

归功于 @bittercoder 在 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
        }
    }
}]
于 2013-04-06T00:07:10.427 回答
1

在您的模型中,将字段类型设置为“int”,它将丢弃小数。

Ext.define('MyModel', {
    extend: 'Ext.data.Model',
    fields: [
        {
            name: 'Foo',
            type: 'int'
        },
        {
            name: 'Bar',
            type: 'int'
        }
    ]
});
于 2012-04-03T07:12:06.090 回答
0

您可以在定义轴时使用标签渲染器功能来执行此操作

axes: [{
         type: 'Numeric',
         position: 'left',
         grid: true,
         fields: ['data1', 'data2'],
         label: {
                  renderer: function (v) {
                         return v.toFixed(0); 
                         }
                }
        },
        { ... }
      ]

当你有v时,你可以对轴值做任何你想做的事情(v 是标签的值)。在上述情况下,.toFixed(0) 舍入到最接近的整数。

于 2013-03-25T23:36:41.193 回答
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;
         }
      }
})

这对我有用

于 2015-12-09T09:33:51.220 回答