Extjs 如何从store sencha touch向图表提供动态轴的最小值和最大值
我使用的是xtype:chart,这是我的轴Extjs 如何从store sencha touch向图表提供动态轴的最小值和最大值,extjs,sencha-touch,sencha-touch-2,sencha-touch-2.1,Extjs,Sencha Touch,Sencha Touch 2,Sencha Touch 2.1,我使用的是xtype:chart,这是我的轴 axes: [{ type: 'numeric', minimum: 0, position: 'left', fields: ['2011', '2012', '2013'], title: 'Sales', minorTickSteps: 1, grid: { odd: { opacit
axes: [{
type: 'numeric',
minimum: 0,
position: 'left',
fields: ['2011', '2012', '2013'],
title: 'Sales',
minorTickSteps: 1,
grid: {
odd: {
opacity: 1,
fill: '#ddd',
}
},
style: {
axisLine: false,
estStepSize: 20,
stroke: '#ddd',
'stroke-width': 0.5
},
minimum: 0,
maximum: 1000
}, {
type: 'category',
position: 'bottom',
fields: ['name'],
title: 'Month of the Year',
style: {
estStepSize: 1,
stroke: '#999'
}
}]
这是我的问题,不同用户之间的最小值和最大值变化很大。比如,如果我给一些用户的最小值为-0,最大值为10000,图表就不会显示。对于其他一些用户,如果我给0-1000,图表就不会显示,所以我想在加载图表之前从存储中更改最小值和最大值。有没有可能这样做??我请求一个例子。谢谢你如果你没有为
最小值
和最大值
设置任何值,Ext将在每次加载存储时根据数据调整轴。无需设置最小值和最大值,因为它将由sencha根据数据设置
若您仍然想这样做,那个么可以通过监听图表的初始化事件来实现
让我们说,这是轴
axes: [{
type: 'numeric',
position: 'left',
fields: ['data1'],
title: {
text: 'Sample Values',
fontSize: 15
},
grid: true,
minimum: 0
}, {
type: 'category',
position: 'bottom',
fields: ['name'],
title: {
text: 'Sample Values',
fontSize: 15
}
}],
并初始化侦听器
listeners : {
initialize : function( me, eOpts ) {
Ext.getStore('chartstore').load({
callback: function(records, operation, success) {
var data = records[0].data;
var axes = me.getAxes();
var SampleValuesAxis = axes[0];
SampleValuesAxis.setMinimum(data.minimum);
SampleValuesAxis.setMaximum(data.maximum);
},
scope: this
});
}
}
谢谢,我仍然有一个问题,如果线条是逐步填充的,它们工作得很好,但是如果是平滑的,线条就不会出现平滑:真的对我不起作用,如果我给出填充:真的或步骤:真的,它工作得很好。。我可以知道我错在哪里吗?那张图上有三行(201120122013)。。三条线显示得很好,很流畅,对我来说也很有效。。哪一行没有出现在你面前?对我来说,填充工作很好2013年行。。。在2011年和2012年,只有点而不是线。你在chrome上测试吗?是的。它在chrome、iOS模拟器和firefox上也不起作用