vb中用mschart作图问题??
现在有一个access数据库,里面一张表存储了两列数据,分别是h(高度)和p(压力),要求用vb的mschart控件读取表内数据,做出x轴表示压力y轴表示高度的曲线图,请...
现在有一个access数据库,里面一张表存储了两列数据,分别是h(高度)和p(压力),要求用vb的mschart控件读取表内数据,做出x轴表示压力y轴表示高度的曲线图,请问如何实现??
展开
1个回答
2013-11-01
展开全部
建议你到我的blog中看看关于mschart画二维散点图的问题,会对你有帮助的 下面的代码根据你的需要来更改 第一种方法: Private Sub Command1_Click() Dim Rst As ADODB.Recordset Dim DbName As String Dim MyCon As ADODB.Connection Dim MyData() As Double Set MyCon = New ADODB.Connection Set Rst = New ADODB.Recordset DbName = App.Path & "\test.mdb" '这里根据你的数据库存放目录来更改 SetConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DbName & ";Persist Security Info=False" MyCon.ConnectionString = SetConnStr: MyCon.Open Rst.Open "select * from gytab", MyCon, adOpenKeyset, adLockOptimistic '表的名字为:gytagb,可根据需要来更改 ReDim MyData(Rst.RecordCount - 1, 1) For i = 0 To Rst.RecordCount - 1 MyData(i, 0) = Rst(0).Value '第一列存放X轴数据 MyData(i, 1) = Rst(1).Value '第二列存放Y轴数据 Rst.MoveNext Next Rst.Close: MyCon.Close Set Rst = Nothing: Set MyCon = Nothing '波形图外观设置 With MSChart1 .TitleText = "速度 m/min" ' '设置图线的外观 .Plot.SeriesCollection(1).Pen.Width = 30 .Plot.SeriesCollection(1).Pen.Style = VtPenStyleSolid ' '设置XY轴 .Plot.Axis(VtChAxisIdX).ValueScale.Auto = False .Plot.Axis(VtChAxisIdY).ValueScale.Auto = False '// 设置最大值 .Plot.Axis(VtChAxisIdX).ValueScale.Maximum = 10 '这里根据你的数据库中的最大值设置一合适值 .Plot.Axis(VtChAxisIdY).ValueScale.Maximum = 80 '这里根据你的数据库中的最大值设置一合适值 '// 设置最小值 .Plot.Axis(VtChAxisIdY).ValueScale.Minimum = 0 .Plot.Axis(VtChAxisIdX).ValueScale.Minimum = 0 '// .Plot.Axis(VtChAxisIdX).ValueScale.MajorDivision = 10 'X轴主要网格数量 .Plot.Axis(VtChAxisIdY).ValueScale.MajorDivision = 8 'Y轴主要网格数量 .Plot.Axis(VtChAxisIdX).ValueScale.MinorDivision = 0 'X轴次要网格数量 .Plot.Axis(VtChAxisIdY).ValueScale.MinorDivision = 0 'Y轴次要网格数量 .Plot.Axis(VtChAxisIdX).AxisGrid.MajorPen.Style = VtPenStyleDotted .Plot.Axis(VtChAxisIdY).AxisGrid.MajorPen.Style = VtPenStyleDotted MSChart1.Plot.AutoLayout = Fal
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询