Javascript ExtJS 4.2-图表重画,仍然可以看到旧标签
我正在制作的折线图有些问题 我这样做是为了它能每秒自动更新, 它将取“Ping Time”文本字段中的值, 然后把它放在图表上,在下一个“分钟”索引处 然而,错误的是,当图表更新时,它不会正确地刷新轴。您可以在此处看到这一点: 相关的代码是图表创建Javascript ExtJS 4.2-图表重画,仍然可以看到旧标签,javascript,extjs,charts,sencha-charts,Javascript,Extjs,Charts,Sencha Charts,我正在制作的折线图有些问题 我这样做是为了它能每秒自动更新, 它将取“Ping Time”文本字段中的值, 然后把它放在图表上,在下一个“分钟”索引处 然而,错误的是,当图表更新时,它不会正确地刷新轴。您可以在此处看到这一点: 相关的代码是图表创建 Ext.create('Ext.chart.Chart',{ renderTo:Ext.getBody(), id:'ChartTest', xtype: 'chart', width
Ext.create('Ext.chart.Chart',{
renderTo:Ext.getBody(),
id:'ChartTest',
xtype: 'chart',
width: 400,
height:300,
store: testStore,
axes:[
{
title:'Ping Time',
type: 'Numeric',
position: 'left',
grid:true,
fields: ['ping'],
},
{
title:'Minutes',
type: 'Numeric',
position: 'bottom',
grid:true,
fields:['id'],
minimum:0,
}
],
series: [
{
type:'line',
xField:'id',
yField:'ping',
tips: {
trackMouse: true,
width: 80,
height: 40,
renderer: function(storeItem, item) {
this.setTitle(storeItem.get('id'));
this.update(storeItem.get('ping'));
}
}
}
],
});
以及刷新代码
var task = Ext.TaskManager.start({
run: function () {
min=min+1;
// max=max+1;
// Ext.getCmp('ChartTest').axes.items[1].maximum=max;
Ext.getCmp('ChartTest').axes.items[1].minimum=min;
test= Ext.getCmp('PingTime').getValue();
temp = temp+1;
Ext.getCmp('display').setValue('Temp = '+temp+' Test = '+test);
testStore.add({id:temp,ping:test});
var rec= testStore.getAt(0);
Ext.getCmp('display2').setValue('rec is '+rec.get('id'));
if(rec.get('id')<temp-8)
{
testStore.remove(rec);
}
Ext.getCmp('ChartTest').redraw();
},
interval: 2000
});
var task=Ext.TaskManager.start({
运行:函数(){
min=min+1;
//max=max+1;
//Ext.getCmp('ChartTest').axes.items[1]。最大值=最大值;
Ext.getCmp('ChartTest')。axes.items[1]。最小值=最小值;
test=Ext.getCmp('PingTime').getValue();
温度=温度+1;
Ext.getCmp('display').setValue('Temp='+Temp+'Test='+Test);
add({id:temp,ping:test});
var rec=testStore.getAt(0);
Ext.getCmp('display2').setValue('rec is'+rec.get('id'));
如果(rec.get('id')尝试使用
Ext.getCmp('ChartTest').surface.removeAll();
在redraw()方法之前
这不是一个完整的解决方案,因为仍然存在一些问题。例如,如果您在“Ping time”中更改了一个值textfield Y轴将被破坏。此外,它可能无法在所有浏览器中正常工作,但我猜此附加信息可能会帮助您找到最终解决方案。我尝试按照您的要求执行操作,但是,正如您所述,Y轴将立即失去大部分标签。尝试通过设置最大值来修复此问题最小值为0到100会完全破坏图表。更新的代码可以在此处看到: