此主题相关图片如下:qq图片20180501091905.png

需要显示的数据差异很大,想使用双图表显示,弄了很久,总是错误,
我理解的思路,遍历表的所有行,指定生成图表的列。当列名符合条件时 增加一个长度为1的新图表系
代码如下
Dim Series As WinForm.ChartSeries '定义一个图系变量
Dim t As Table = Tables("精炼质检单") '定义一个变量t引用数据表
Dim chart As WinForm.Chart = Forms("精炼底部工具").Controls("Chart1")
Dim Series2 As WinForm.ChartSeries '定义一个图系变量
Chart.VisualEffect = False
Chart.SeriesList.Clear() '清除图表原来的图系
For r As Integer = 0 To t.Rows.count - 1
For c As Integer = 3 To 9
Select Case t.Cols(c).name
Case "碱炼酸值"
Series2 = Chart.SeriesList2.Add()
Chart.ChartType2 = ChartTypeEnum.bar
Series2.Length = 1
Series2.X(c - 1) = c - 1
Series2.Y(c - 1) = t.Rows(r)(c)
Case Else
Series = Chart.SeriesList.Add()
Series.Length = t.Cols.Count - 2
Series.X(c - 1) = c - 1
Series.Y(c - 1) = t.Rows(r)(c)
End Select
Chart.AxisX.SetValueLabel(c - 1, t.Cols(c).caption) '指定字符表示
Next
Next
Chart.AxisX.AnnoWithLabels = True '启用字符标示
Chart.LegendVisible = True '显示图列
Chart.LegendCompass= CompassEnum.South '图列显示
[此贴子已经被作者于2018/5/1 10:32:31编辑过]