可以先做个聚合计算。
通常绘图组件不会绘制几百万的数据量,这样下载数据和渲染数据都会耗费非常大量的时间,常规做法是将数据源降精度,比如将秒级数据降为分钟数据。
timer avgSpread = select avg((ofr-bid)/(ofr+bid)*2) as avgSpread from quotes where date=2007.08.31, symbol=`LEH, time between 09:30:00 : 15:59:59, ofr>bid, ofr>0, bid>0, ofr/bid<1.2 group by minute(time) as minute plot(avgSpread.avgSpread, avgSpread.minute, "Average bid-ask spread per minute")