我在*.txt的文件里有两行数据。如何成图! ( 急!!! )

云中漫步 2004-05-04 03:11:57
我在*.txt的文件里有两行数据。
格式为:
时间 气压
20010101,995.2
20010102,996.3
20010103,1002.2
...
...
20030101, 899.2
...
...

如何做成一个有坐标图线!
最好有示例代码!

多谢各位大侠!!
...全文
23 17 点赞 打赏 收藏 举报
写回复
17 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
online 2004-05-10
把这个保存成test.txt文件,放在同一目录下即可
然后运行那一段代码

//多谢你的回帖,可如何把上面的代码和数据文件连结起来呀? 我很菜呀!!!
已经连接起来了
  • 打赏
  • 举报
回复
hhyttppd 2004-05-09
插值、绘图
happywqw(键盘跳蚤) 的方法不错.去数值计算中找到曲线插值算法,应该有这方面的子程序.
  • 打赏
  • 举报
回复
云中漫步 2004-05-09
自己顶,
最好有人给我原代码
  • 打赏
  • 举报
回复
happywqw 2004-05-05
这样的话最好自己写代码。直接读出数据,然后插值、绘图;采用边读边绘的方法,具体是读出一个、三个还是五个点再绘图根据你的插值算法而异!可以参考计算机图形学曲线绘制的部分算法。
  • 打赏
  • 举报
回复
云中漫步 2004-05-05
还有,我的要的是曲线,不是竖线,要象股票一样的那种曲线呀!
  • 打赏
  • 举报
回复
云中漫步 2004-05-05
online(龙卷风V2.0--再战江湖) :

多谢你的回帖,可如何把上面的代码和数据文件连结起来呀? 我很菜呀!!!

另外:提示子函数未定义呀,帮忙呀,
你的一点帮助,可能是我很大的进步呀!!
你帮我了,我可以从很多地方回报你呀!
  • 打赏
  • 举报
回复
broown 2004-05-05
gz
  • 打赏
  • 举报
回复
hhyttppd 2004-05-04
那我写的一个实验数据处理程序里的一段。
先把数据读到数组。
  • 打赏
  • 举报
回复
hhyttppd 2004-05-04
Picture1.ScaleMode = 3
'Picture1.ScaleLeft = Picture1.ScaleLeft + Picture1.ScaleWidth / 2
'Picture1.ScaleTop = Picture1.ScaleTop + Picture1.ScaleHeight / 2
Picture1.Scale (0, 300)-(300, -50)
'MsgBox Str(Picture1.ScaleLeft) + "--" + Str(Picture1.ScaleTop)
Picture1.Line (0, 0)-(0, 300), vbRed
Picture1.Line (0, 0)-(400, 0), vbRed
Picture1.Line (constA1 * tDB(1).preP, constA2 * tDB(1).liqQ)-(constA1 * tDB(2).preP, constA2 * tDB(2).liqQ)
For j = 3 To 17
Picture1.Line -(constA1 * tDB(j).preP, constA2 * tDB(j).liqQ)
Next j
For j = 1 To 17
Picture1.Print "Q-P线"
Picture1.CurrentY = -10
Picture1.CurrentX = constA1 * tDB(j).preP
Picture1.Print tDB(j).preP
Next j
For j = 1 To 17
Picture1.Circle (constA1 * tDB(j).preP, constA2 * tDB(j).liqQ), Radius, vbRed
Next j
  • 打赏
  • 举报
回复
online 2004-05-04
把这个保存成test.txt文件,放在同一目录下即可
时间,气压
2001,995.2
2002,996.3
2003,1002.2
2004,899.2
2005,995.2
2006,996.3
2007,1002.2
2008,899.2
  • 打赏
  • 举报
回复
云中漫步 2004-05-04
online(龙卷风V2.0--再战江湖) :
多谢你的回帖,可如何把上面的代码和数据文件连结起来呀? 我很菜呀!!!
  • 打赏
  • 举报
回复
云中漫步 2004-05-04
帮忙呀
  • 打赏
  • 举报
回复
online 2004-05-04
写了一段
引用
microsoft activex data object 2.6 library
添加控件microsoft chart control 6.0
Option Explicit
Function Read_Text_File() As ADODB.Recordset
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
Dim conn As ADODB.Connection
Set conn = New ADODB.Connection
conn.Open "DRIVER={Microsoft Text Driver (*.txt; *.csv)};" & _
"DBQ=" & App.Path & ";", "", ""

rs.Open "select * from [test#txt]", conn, adOpenStatic, _
adLockReadOnly, adCmdText
Set Read_Text_File = rs
Set rs = Nothing
Set conn = Nothing
End Function

Private Sub Command1_Click()
Dim Values() As Variant
Dim NumPoints As Integer
Dim i As Integer

Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
Set rs = Read_Text_File()
'Set MSChart1.DataSource = rs '或者直接帮丁
NumPoints = rs.RecordCount
ReDim Values(1 To NumPoints, 1 To 2)

' 加载数据
rs.MoveFirst
For i = 1 To NumPoints
Values(i, 1) = CStr(rs!时间)
Values(i, 2) = CStr(rs!气压)
rs.MoveNext
Next i
rs.Close

MSChart1.ChartData = Values

End Sub
  • 打赏
  • 举报
回复
douhapy 2004-05-04
MSChart控件应该可以达到你的要求。
新建工程,选择"vb 企业版控件",然后在工具栏可以发现该控件。
  • 打赏
  • 举报
回复
online 2004-05-04
Public Function Read_Text_File() As ADODB.Recordset

Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
Dim conn As ADODB.Connection
Set conn = New ADODB.Connection
conn.Open "DRIVER={Microsoft Text Driver (*.txt; *.csv)};" & _
"DBQ=" & App.Path & ";", "", ""

rs.Open "select * from [test#txt]", conn, adOpenStatic, _
adLockReadOnly, adCmdText
Set Read_Text_File = rs
Set rs = Nothing
Set conn = Nothing
End Function

Private Sub cmdReadTXT_Click()
Set dgData.DataSource = obj.Read_Text_File
Set obj = Nothing
End Sub
  • 打赏
  • 举报
回复
online 2004-05-04
可以用ado当成表读取后,然后使用mschart控件
  • 打赏
  • 举报
回复
云中漫步 2004-05-04
另,有没有现成的控件呀,如何用?

自己顶呀!!!
  • 打赏
  • 举报
回复
相关推荐
发帖
VB基础类
加入

7545

社区成员

VB 基础类
申请成为版主
帖子事件
创建了帖子
2004-05-04 03:11
社区公告
暂无公告