vb 画折线图

画一个折线图
要求:
1.用Picture画
2.像任务管理器的CPU使用记录那样画...
3.没有了
我有一组数据...从右到左慢慢地画...并且自动往左移动...

回答者: 小鱼冬眠中,不要复制...没达到要求
回答者: 43295811 好像在哪里见过...

'我的数据是随机生成的,方法就是这样啦,你参考,希望对你有帮助:
'我是在窗体上画的,在图片中也是一样的,本例仅作演示

Option Explicit

Private Sub Form_click()
Cls
Dim i, j As Single
Me.Scale (-1, 10)-(25, -1) '定义坐标系,原点靠近左下角
Line (-1, 0)-(25, 0) '画x轴
Line (0, -1)-(0, 10) '画Y轴
For i = -1 To 25 Step 1 '画X轴刻度
If i <> 0 Then
Line (i, 0)-(i, 0.2)
CurrentX = i - 0.3: CurrentY = -0.2
Print i
End If
Next
For j = -1 To 10 '画Y轴刻度
If j <> 0 Then
Line (0, j)-(0.3, j)
CurrentX = -0.7: CurrentY = j + 0.1
Print j
End If
Next
CurrentX = -0.4: CurrentY = -0.2
Print "0" '画原点
CurrentX = 0.5: CurrentY = 9.5
Print "Y"
CurrentX = 24: CurrentY = 0.5
Print "X"
Randomize
CurrentX = 1: CurrentY = Format(Rnd * 10, "0.00")
For i = 2 To 24
Line -(i, Format(Rnd * 10, "0.00")) '这里是随机生成的数据!
Next
End Sub

'==================下面在图片框中画图,单击图片框即可绘制==========
Option Explicit

Private Sub Form_load()
Picture1.Move 0, 0, Me.Width, Me.Height
Picture1.AutoRedraw = True
End Sub

Private Sub Form_Resize()
Picture1.Move 0, 0, Me.ScaleWidth, Me.ScaleHeight
Picture1_Click
End Sub

Private Sub Picture1_Click()
Picture1.Cls
Dim i, j As Single
Picture1.Scale (-1, 10)-(25, -1) '定义坐标系,原点靠近左下角
Picture1.Line (-1, 0)-(25, 0) '画x轴
Picture1.Line (0, -1)-(0, 10) '画Y轴
For i = -1 To 25 Step 1 '画X轴刻度
If i <> 0 Then
Picture1.Line (i, 0)-(i, 0.2)
Picture1.CurrentX = i - 0.3: Picture1.CurrentY = -0.2
Picture1.Print i
End If
Next
For j = -1 To 10 '画Y轴刻度
If j <> 0 Then
Picture1.Line (0, j)-(0.3, j)
Picture1.CurrentX = -0.7: Picture1.CurrentY = j + 0.1
Picture1.Print j
End If
Next
Picture1.CurrentX = -0.4: Picture1.CurrentY = -0.2
Picture1.Print "0" '画原点
Picture1.CurrentX = 0.5: Picture1.CurrentY = 9.5
Picture1.Print "Y"
Picture1.CurrentX = 24: Picture1.CurrentY = 0.5
Picture1.Print "X"
Randomize
Picture1.CurrentX = 1: Picture1.CurrentY = Format(Rnd * 10, "0.00")
For i = 2 To 24
Picture1.Line -(i, Format(Rnd * 10, "0.00")) '这里是随机生成的数据!
Next
End Sub
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-09-22
Private Sub Command1_Click()
Me.Picture1.AutoRedraw = True
Me.Picture1.Line (100, 1000)-(500, 600)
Me.Picture1.Line (500, 600)-(600, 2000)
Me.Picture1.Line (600, 2000)-(1000, 2000)
End Sub

Line的第一个参数(100,1000),前一个是左边距,第二个是上边距
第2个回答  2020-01-10
一个例子:
窗体上有一个按钮
一个能显示折线图的控件(我不大知道应该用哪个控件)
现有十二个数
设其为13-24
点击按钮时图片显示为一折线图
折线图为十二个点的连线
(1,13)(2,14)(3,15)(4,16)(5,17).....(12,24)
请教如何编写程序
回答:
控件用MsChart,在Microsoft
Chart
Control
6.0(OLEDB)。
Private
Sub
Form_Load()
Dim
CData(1
To
2,
1
To
24)
As
Variant
mctChart.chartType
=
VtChChartType2dLine
For
i=1
To
12
CData(1,i)=i
'1代表第一个数据
Next
i
For
i=13
To
24
'2代表第二个数据
CData(2,i)=i
Next
i
mctChart.ChartData
=
CData
End
Sub
参考资料:http://www.programfan.com/blog/article.asp?id=23214
第3个回答  2008-09-24
kd = P_Height / 10
For i = P_Width / kd + 1 To 0 Step -1
Picture1.Line (P_Width - i * kd - kd, P_Height - gd(i + 1) * dw2)-(P_Width - i * kd, P_Height - gd(i) * dw2)
b = b + i * kd
Next

有点乱,呵呵...你整理整理吧...本回答被提问者采纳
第4个回答  2008-09-23
如果已知一维数组是随时间变化的,那么可以在窗体上添加一个时间控件和一个Picture控件.利用时间控件Timer控制.下面是我写的一个例子,是利用时间控件来控制绘正弦曲线的.

Private Sub Command1_Click()
Dim i As Integer, j As Single
Dim a(20) As Single
Dim t
For i = 0 To 19
a(i) = Sin(i * 45 * 3.1415926 / 180)
Next i
Timer1.Enabled = True
t = Timer
For i = 1 To 19
Do
If t < Timer - 1 Then
t = Timer
Exit Do
End If
Loop
Picture1.DrawWidth = 2
Picture1.Line ((i - 1) * 50, 100 * a(i - 1) + 400)-(i * 50, 100 * a(i) + 400), RGB(255, 0, 0)
Picture1.Refresh
Next i
End Sub

Private Sub Form_Load()
Timer1.Interval = 1000
End Sub

从右到左画的话只要将循环语句变成
For i=19 To 1

如何用vb画折线图?
把这些相邻的点之间用直线连接起来,就是折线了。VB6可以在窗体上或者PictureBox里绘制图形,语句为:对象.Line (x1,y1)-(x2,y2)其中:(x1,y1)和(x2,y2)分别是两个点的坐标。

VB用mschart画折线图
首先:imports system.windows.forms.datavisualization.charting 然后定义图表类型为折线图:chart1.series("series1").charttype = seriescharttype.line;最后使用1-99之间的随机数生成图表:dim random as new random()dim index as integer for index = 0 to 9 chart1.series("series1").points.ad...

用VB做数据折线图
用MSCHART控件 定义一个二维数组,例如:Global studydata(1 To 5, 1 To 7) '学历数据 ElseIf cb_sort.Text = "学历" And cb_chart.Text = "折线图" Then With MSChart1 .ColumnCount = 6 .ChartData = studydata .DataGrid.ColumnLabel(1, 1) = "研究生及以上".DataGrid.ColumnLabel...

vb怎么根据数组画折线图,用的是mschart控件,
可以使用如下代码:Chart1.Series("Default").Points.DataBindXY(X轴数组, Y轴数组)希望对你有帮助,还有疑问请追问或是Hi

vb里面如何生成折线图
object.Line [Step] (x1, 1)[Step] (x2, y2), [color],起点坐标,终点坐标

vb6.0 画折线图,chart,line等控件也行
'===按放大缩小倍率重新画线 Sub Drwline()Dim endcs As Boolean If d2Height \/ 20000 > 2232 Then Exit Sub endcs = False End If P2.Cls ‘PictureBox重置 P2.FontSize = d2Height \/ 20000 '设置文字大小 h =1 Sfb = (d2Width \/ BHLc)Do While h <= i If Mid(GPSdata(...

VB 中 MSchart 如何作(XY)散点图
以EXCEL2003为例:1.选中需要建立折线图的数据 2.点工具栏中的插入-图表-自定义类型-两轴折线图-下一步。3.在图标源数据-系列,把需要的几个系列的名字输入到系列1.2.3...下一步。4.图表选项-标题,输入分类X轴,数值Y轴,次数值Y轴名字,下一步。5.下一步-完成,折线图出现了。

有关VB画折线图的问题
点击按钮时图片显示为一折线图 折线图为十二个点的连线 (1,13)(2,14)(3,15)(4,16)(5,17)...(12,24)请教如何编写程序 回答:控件用MsChart,在Microsoft Chart Control 6.0(OLEDB)。Private Sub Form_Load()Dim CData(1 To 2, 1 To 24) As Variant mctChart.chartType...

vb6.0 实时绘制曲线,先加100分,采纳的话还可加分 ,分不是问题
准确来说是绘制折线,你把坐标取的足够多的话,当然看起来像是曲线 1、首先,把数据采集到Access数据库 2、清除所有图像 3、根据你的需要,取最新的N组数据作为坐标,绘制新的图像(在事先定义的坐标系中绘制折线图)4、绘制图像的代码单独写在成一个函数或者过程,每隔三秒调用一次就行了 ...

...利用vb6.0中的mschart控件来画折线图的代码程序。十分感谢
新建工程,在表单上放置MSChart1控件,然后粘贴以下代码:Private Sub Form_Load()Dim D(1 To 10, 1 To 2) As Double, i As Integer Randomize For i = 1 To 10 '产生随机数 D(i, 1) = 100 * Rnd(1)D(i, 2) = -100 * Rnd(1)Next MSChart1.chartType = VtChChartType2dL...

相似回答