当前位置:编程学习 > VB >>

VB6.0里MSChart 控件 画两条线,MSChart 2.Column = 1绑定是Y左边 ,MSChart 2.Column = 1绑定的是Y轴

可是现在左边的线可以跟着Y轴绑定了 右边的线还是没反应 请问这是怎么回事,请专家给看看,重谢,代码如下:(VB6.0)
MSChart2.TitleText = "Sillicone 使用量"


RowCount = res.RecordCount
RowI = RowCount
    If res.RecordCount = 0 Then Exit Sub
    ReDim ss(res.RecordCount)
    With MSChart2
      .RowCount = RowCount 'rs.RecordCount
      

      .chartType = VtChChartType2dLine
    
        .ColumnCount = 2





     For i = 1 To .Plot.SeriesCollection.Count

         .Plot.SeriesCollection(i).DataPoints(-1).DataPointLabel.LocationType = VtChLabelLocationTypeAbovePoint
      Next

.Plot.Axis(VtChAxisIdY).ValueScale.Auto = False
.Plot.Axis(VtChAxisIdY2).ValueScale.Auto = False


    If res.RecordCount > 0 Then
          res.MoveFirst
      Else
          Exit Sub
      End If
    MSChart2.chartType = VtChChartType2dCombination
    MSChart2.Plot.SeriesCollection.Item(1).SeriesType = VtChSeriesType2dLine
    MSChart2.Plot.SeriesCollection.Item(2).SeriesType = VtChSeriesType2dBar

       For i = 0 To res.RecordCount - 1
         .Column = 1             '收入曲线所在列
         .RowCount = res.RecordCount
         .Row = i + 1
         .RowLabel = CStr(res("date"))
         .Plot.Axis(VtChAxisIdY).ValueScale.Maximum = res1.Fields("good_qty1").Value
         .Plot.Axis(VtChAxisIdY).ValueScale.Minimum = res1.Fields("good_qty2").Value
         .Data = CDec(res("good_qty"))

         .ColumnLabel = "生产量"          '图例说明文字

         
         '//兼职收入显示
         .Column = 2                '兼职收入曲线所在列
         .Plot.Axis(VtChAxisIdY2).ValueScale.Maximum = res1.Fields("jldw1").Value
         .Plot.Axis(VtChAxisIdY2).ValueScale.Minimum = res1.Fields("jldw2").Value
         .Data = res("jldw")

         .ColumnLabel = "计量单位"            '图例说明文字
       res.MoveNext
      Next

      
       If res1.State = adStateOpen Then res1.Close
        Set res1 = Nothing


拜托了 在线等 急。。。。。。。。。。 Option Explicit
Dim MyData(0 To 10, 2) As Variant        '必须定义为变体类型
Private Const xlXYScatterSmoothNoMarkers = 73
Private Sub Form_Load()
    Dim intP As Integer
    For intP = 0 To 10
        MyData(intP, 0) = intP * 36 & " " '必须确保它不是数字,不然会被认为是一条线
        MyData(intP, 1) = 300 * Rnd
        MyData(intP, 2) = 300 * Rnd
    Next intP
    '波形图外观设置
    With MSChart1
         .TitleText = "速度 m/min"
        '    '设置图线的外观
        .Plot.SeriesCollection(1).Pen.Width = 40
        .Plot.SeriesCollection(1).Pen.Style = VtPenStyleSolid
        '    '设置XY轴
'        .Plot.Axis(VtChAxisIdX).ValueScale.Auto = False
'        .Plot.Axis(VtChAxisIdY).ValueScale.Auto = False
        '// 设置最大值
        .Plot.Axis(VtChAxisIdX).ValueScale.Maximum = 360
        .Plot.Axis(VtChAxisIdY).ValueScale.Maximum = 300
        '// 设置最小值
        .Plot.Axis(VtChAxisIdY).ValueScale.Minimum = 0
        .Plot.Axis(VtChAxisIdX).ValueScale.Minimum = 0
        '//
        .Plot.Axis(VtChAxisIdX).ValueScale.MajorDivision = 6 'X轴主要网格数量
        .Plot.Axis(VtChAxisIdY).ValueScale.MajorDivision = 6 '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
        
'        .Plot.AutoLayout = False
'        .Plot.UniformAxis = False
Rem %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
        .Plot.AutoLayout = False
        .Plot.UniformAxis = False
        .RowCount = 21
        .ChartData = MyData
        .ShowLegend = True
'        .chartType = xlXYScatterSmoothNoMarkers
        .chartType = VtChChartType2dLine
'        .chartType = VtChChartType2dXY
        .Legend.Location.LocationType = VtChLocationTypeTop
        .Plot.UniformAxis = False

        .ColumnCount = 2
        .ColumnLabelCount = 2
        .Column = 1
        .ColumnLabel = "曲线1"
        .Column = 2
        .ColumnLabel = "曲线2"
        .Refresh
    End With
End Sub

Private Sub Timer1_Timer()
    Dim intP As Integer
    For intP = 0 To 10
        MyData(intP, 0) = intP * 36 & " "   '必须确保它不是数字,不然会被认为是一条线
        MyData(intP, 1) = 300 * Rnd
        MyData(intP, 2) = 300 * Rnd
    Next intP
'    ChartDemo.ChartData = MyData
    MSChart1.ChartData = MyData
End Sub
补充:VB ,  控件
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,