如何实现大量数据只能画图
各位高手,你们好,我现在想在vb中实现大量数据的智能画图,具体如下:
1.数据存在数据库中,有十几个字段,第一个字段是时间,后面的字段是要画出的曲线
2.要求以第一个字段为横轴,其他字段为纵轴画曲线,每个要画曲线的字段画一幅图
3.时间轴按间距显示时间信息,纵轴按间距标数值。
4.当鼠标放在曲线上时,可显示对应的横轴纵轴信息。
再次先谢谢大家了,这个问题比较棘手,请大家多多帮忙!
[解决办法]
用mschart
[解决办法]
也可通过PictureBox用PSet方法画点方法实现.
[解决办法]
http://topic.csdn.net/u/20080604/14/7b4ac419-0927-4df9-8c54-67d58f2507b5.html
http://topic.csdn.net/u/20070827/14/2fe4e025-70c7-419e-ab24-55030bcf0634.html
[解决办法]
以前用VB6做过的一个项目和你这个类似,能够实现从SQL2000数据库中抓取数据,同时画出12条曲线。
我的方法是使用API函数,原理是利用创建画笔在DC上画,大量数据可以使用PolylineTo函数,速度很快,最关键的是要创建DC,在DC上画速度快很多,曲线的滚动我使用了BitBlt函数,把已经画好的曲线作为一个图片整体向消失方向搬运一定距离,再补充新到的数据画线(不要用vb自带的划线函数,一定要用API函数,LineTo,MoveToEx)到最新时刻处。
主要用到了几个函数,这方面的资料很多,可以自己找找。
BitBlt,CreateCompatibleDC,CreateCompatibleBitmap,DeleteDC,DeleteObject,SelectObject,LineTo,MoveToEx,PolylineTo,CreatePen
[解决办法]
可以定义一个结构体,数据库的每一个字段都是一个子类,例如:
type MyData
strTime as Date
Data1 as double
Data2 as double
Data3 as double
.
.
.
Datan as double
end type
再定义一个这个结构类型的数组,用以存储数据库的数据。
根据数组数据,使用Pictrue的Line方法来绘制曲线。