vb.net 推移图

myjishu 2009-05-15 10:36:19
我现在想写一个程序 根据计算绘制出推移图....可现在不知道从何处下手..以前没做过,各位高手给点建议...都使用什么控件和方法.....最好整点代码出来哦...请各位都露一手....帮帮菜鸟...
...全文
145 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
ncqingchuan1976 2009-05-27
  • 打赏
  • 举报
回复
刚好做了一个

用户控件代码

Public Class MovePhoto
Private Tick As Integer = 0
Private Const m_XValue As Integer = 12
Private m_XQueue, m_YQueue As Queue
Private Array As Array
Private m_Value As Integer
Public Property Value() As Integer
Get
Return m_Value
End Get
Set(ByVal value As Integer)
Dim BaseY As Integer = Me.Height - (Me.Height Mod m_XValue)
m_Value = BaseY - value

End Set
End Property

Private Sub DrawLineV(ByVal Graphics As Graphics)
Dim Pen As New Pen(Color.Green)

For i As Integer = 0 To Me.Height Step m_XValue
Graphics.DrawLine(Pen, 0, i, Me.Width, i)

Next
Pen.Dispose()
End Sub

Private Sub DrawLineH(ByVal Graphics As Graphics)
Dim Pen As New Pen(Color.Green)

For i As Integer = 0 To Me.Width + Tick Step m_XValue
Graphics.DrawLine(Pen, i - Tick, 0, i - Tick, Me.Height)

Next
Pen.Dispose()
End Sub

Private Sub DrawLineValue(ByVal Graphics As Graphics)
Dim Pen As New Pen(Color.LightGreen)

For i As Integer = 1 To m_YQueue.Count - 1
Graphics.DrawLine(Pen, Array(i - 1), m_YQueue.ToArray(i - 1), Array(i), m_YQueue.ToArray(i))
Next
Pen.Dispose()
End Sub

Private Sub MovePhoto_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
DrawLineV(e.Graphics)
DrawLineH(e.Graphics)
DrawLineValue(e.Graphics)

End Sub

Public Sub DrawMovephoto()

m_YQueue.Enqueue(Value)

If m_XQueue.Count > Me.Width / 2 Then
m_YQueue.Dequeue()
Else
m_XQueue.Enqueue(Me.Width - Tick - 1)

End If

Array = m_XQueue.ToArray
Array.Reverse(Array)

Tick += 2
Me.Invalidate()

End Sub
Public Sub New()

' 此调用是 Windows 窗体设计器所必需的。
InitializeComponent()
m_XQueue = New Queue
m_YQueue = New Queue
' 在 InitializeComponent() 调用之后添加任何初始化。


End Sub
End Class


测试代码


Private Sub Timer_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer.Tick
MP.Value = 50 * Rnd()
MP.DrawMovephoto()
End Sub

Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Timer.Enabled = True
End Sub

myjishu 2009-05-26
  • 打赏
  • 举报
回复
先绘制一网格....从数据库里面获取数据,以网格的交叉点为坐标....绘制出各个点.....最后用直线把各个点连接在一起.....
kanday12 2009-05-26
  • 打赏
  • 举报
回复
用picturebox 内存重画加一个timer就好了,速度也是很快的
leitin 2009-05-26
  • 打赏
  • 举报
回复
找个Chart控件,时间作横轴,数据作纵轴
从数据库取得数据后,控件自动就用直线或曲线连接了
Kation 2009-05-18
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 myjishu 的回复:]
推移图 就是类似随时间的变化而变化的一中统计图.....
推移图也叫时间序列图,是以时间轴为横轴,变量为纵轴的一种图。 推移图主要目的是观察变量是否随时间变化而呈某种趋势。
[/Quote]
绘制成什么样的?
yanlongwuhui 2009-05-18
  • 打赏
  • 举报
回复
参考下MSCHART控件
waterjkd 2009-05-18
  • 打赏
  • 举报
回复
应该有第三方控件,找找看
古今多少事 2009-05-18
  • 打赏
  • 举报
回复
哦,我想到了心电图。

顶一下
myjishu 2009-05-18
  • 打赏
  • 举报
回复
推移图 就是类似随时间的变化而变化的一中统计图.....
推移图也叫时间序列图,是以时间轴为横轴,变量为纵轴的一种图。 推移图主要目的是观察变量是否随时间变化而呈某种趋势。
qshurufa 2009-05-15
  • 打赏
  • 举报
回复
关注
outou 2009-05-15
  • 打赏
  • 举报
回复
学习
Kation 2009-05-15
  • 打赏
  • 举报
回复
[Quote=引用楼主 myjishu 的帖子:]
我现在想写一个程序 根据计算绘制出推移图....可现在不知道从何处下手..以前没做过,各位高手给点建议...都使用什么控件和方法.....最好整点代码出来哦...请各位都露一手....帮帮菜鸟...
[/Quote]
什么事推移图?
会按照规律一直运动的图吗?
如果是我会~

16,722

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧