MSCHART 显示值

VB调用数据库数据画mschart折线图
2009-09-22 21:59

Private Sub Command1_Click()
          On Error Resume Next
          Dim i   As Integer
          Dim conn As New ADODB.Connection
          Dim rs     As New ADODB.Recordset
          Set conn = New ADODB.Connection
          Set rs = New ADODB.Recordset
          
          
          conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\lwl.mdb"
          conn.Open
          rs.Open "select * from   lwl", conn, adOpenKeyset, adLockOptimistic
            
        ' Set MSChart1.DataSource = rs
          
With MSChart1

       '// 以线条方式显示
      .chartType = 3
      
      '// 把刻录改为手工方式
      .Plot.Axis(VtChAxisIdY).ValueScale.Auto = False
      
       '// 设置最大值
      .Plot.Axis(VtChAxisIdY).ValueScale.Maximum = 1000
      
      '// 设置最小值
      .Plot.Axis(VtChAxisIdY).ValueScale.Minimum = 0
      
      '// 设置每格为 1
      .Plot.Axis(VtChAxisIdY).ValueScale.MinorDivision = 1
       
      '// 设置收入和兼职收入总列数
      .ColumnCount = 2
            
      '//轴坐标标题
      .Plot.Axis(VtChAxisIdX, 0).AxisTitle = "日期"
      .Plot.Axis(VtChAxisIdY, 0).AxisTitle = "收入"

      
      '//轴坐标标题字体大小的设置
      .Plot.Axis(VtChAxisIdX, 0).AxisTitle.VtFont.Size = 15
      .Plot.Axis(VtChAxisIdY, 0).AxisTitle.VtFont.Size = 25
      
      '//设置图表标题
      .Title.Text = "日期和收入对应折线图"
      
      
      
      '// 显示图例说明
      .ShowLegend = True
      
      '// 标记每个点的值核心语句
      For i = 1 To .Plot.SeriesCollection.Count
         .Plot.SeriesCollection(i).DataPoints(-1).DataPointLabel.LocationType = VtChLabelLocationTypeAbovePoint
      Next

      
      If rs.RecordCount > 0 Then
          rs.MoveFirst
      Else
          Exit Sub
      End If


       '曲线1赋值
       For i = 0 To rs.RecordCount - 1
         .Column = 1             '选择曲线1
         .RowCount = rs.RecordCount
         .Row = i + 1
         .RowLabel = CStr(rs("日期"))
         .Data = rs("收入")
         .ColumnLabel = "收入"          '图例说明文字
         
             '曲线2赋值
         '//兼职收入显示
         .Column = 2                '选择曲线2
         .Data = rs("兼职收入")
         .ColumnLabel = "兼职收入"            '图例说明文字
       rs.MoveNext
      Next
     
End With

End Sub

Private Sub Command2_Click() '下列示例设置图表查看距离和轴分段间距。

   ' Change the chart type to 3D Bar.
   MSChart1.chartType = VtChChartType3dBar
   With MSChart1.Plot
      ' Changes 3d bar chart's viewing.
      .DepthToHeightRatio = 2
      .WidthToHeightRatio = 2
      ' Changes the spacing between divisions on the
      ' X-Axis.
      .xGap = 0
      ' Changes the spacing between divisions on the
      ' Z-Axis.
      .zGap = 0.8
   End With

End Sub

调试界面显示:

数据库贴图如下:

参考资料来源入http://msdn.microsoft.com/zh-cn/library/cc436035(VS.71).aspx


另外一种方法------------------------------------------------

点击某一点显示当前点的数值

Private Sub MSChart1_PointSelected(Series As Integer, DataPoint As Integer, MouseFlags As Integer, Cancel As Integer)
    MSChart1.Row = DataPoint
    MSChart1.ToolTipText = "Point " & DataPoint & " " & MSChart1.Data
    Label1.Caption = "Point " & MSChart1.RowLabel & " " & MSChart1.Data
End Sub

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值