以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助] 一行数据 两个图系显示问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=118377)

--  作者:aidimeng
--  发布时间:2018/5/1 9:26:00
--  [求助] 一行数据 两个图系显示问题


此主题相关图片如下: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编辑过]

--  作者:有点甜
--  发布时间:2018/5/1 18:55:00
--  
做个实例发上来测试,说明需要得到的最后的效果。