Sencha Touch 2.1将笛卡尔图表轴值更改为整数

时间:2013-03-28 07:37:18

标签: sencha-touch-2 sencha-charts

enter image description here您好我正在使用sencha touch 2.1.1图表以笛卡尔图表格式显示民意调查结果。我将我的轴类型指定为“整数”。图表商店的给定输入值仅为整数(如1,2,3 ......)。但绘制的图形轴包含小数,但我的轴上不需要小数。
如何解决这个问题。提前谢谢。

Ext.define("KBurra1.view.PollChart",{
extend:"Ext.chart.CartesianChart",
requires:['Ext.data.JsonStore','Ext.chart.axis.Numeric','Ext.chart.axis.Category','Ext.chart.series.Bar'],
config:{
    store:null,
//id:"poll_chart",
height:'200px',
flipXY: true,
axes: [{
    type: 'numeric',
    minimum:0,
    //maximum:3,
    //increment:1,
    position: 'bottom',
    title: 'Number of Votes',
    grid: {
        odd: {
            opacity: 1,
            fill: '#dddc',
            stroke: '#bbb',
            lineWidth: 1
        },

    },



}, {
    type: 'category',
    position: 'left',
    grid: true,
    label: {
        rotate: {
            degrees:330
        },

    }
}],
series: [{
    //title : ['data1'],
    type: 'bar',
    xField: 'answer',
    yField: ['votecount'],
    style: {

        fill:'#57a4f7',
        minGapWidth:5,

    },
    stacked : false
}]
}

});

1 个答案:

答案 0 :(得分:1)

你可以使用内置的javascript函数“toFixed(0)”这将给它0小数位。此外,如果你想要1位小数,只需要输入1而不是0。

要在图表中使用它,请使用一个小函数向轴添加一个渲染属性。在我的应用程序中,我处理数百万的数字,所以我除以1000000,然后只显示1位小数。

axes: [
                {
                    type: 'numeric',
                    position: 'left',
                    fields: ['population','phones'],
                    minimum: 0,
                    renderer: function (value) {
                                value = value / 1000000;
                                return value.toFixed(1);
                            },
                    grid: true
                },

在你的情况下,只需乘以100并使用toFixed(0)