gpt4 book ai didi

javascript - ExtJS 4.2 - 图表重绘,仍然看到旧标签

转载 作者:行者123 更新时间:2023-11-28 08:35:34 24 4
gpt4 key购买 nike

我制作的折线图有一些问题。

我正在制作它,以便它每秒自动更新,它将采用“Ping Time”文本字段中的值,然后将其放置到图表上的下一个“分钟”索引处。

但是,问题在于,当图表更新时,它无法正确刷新轴。您可以在此处查看此操作:

http://jsfiddle.net/HTj5Q/71/

相关的代码片段是图表创建,

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
});

最佳答案

尝试使用

Ext.getCmp('ChartTest').surface.removeAll();

在 redraw() 方法之前。

这不是一个完整的解决方案,因为仍然存在一些问题。例如,如果您更改“Ping time”文本字段中的值,Y 轴将明显损坏。此外,它可能无法在所有浏览器中正常工作,但我想这些附加信息可能会帮助您找到最终的解决方案。

关于javascript - ExtJS 4.2 - 图表重绘,仍然看到旧标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21260853/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com