VBA中控件MSCHART 的曲线或柱状图上显示值

http://hi.baidu.com/mizuda/blog/item/ab8af02870fefff499250ac8.html
VB调用数据库数据画mschart折线图

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值