您好我正在使用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
}]
}
});
答案 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)