''=======招标控制价与报名家数=====
Dim Chart As WinForm.Chart '定义一个图表变量
Dim Series As WinForm.ChartSeries '定义一个图系变量
Dim t As Table = Tables("标录分析_Table01") '定义一个变量t引用数据表
Dim nms3() As String = {"中标比例","公司比例"}
Chart = Forms("标录分析").Controls("Chart3") ' 引用窗口中的图表
Dim fnt1 As New Font("楷体",12,FontStyle.Bold)
Chart.HeaderFont = fnt1
Chart.HeaderText = "球号中标比例与公司比例" '生成Chart总图名称
Chart.AxisX.ClearValueLabel '清除所有通过SetValueLabel设置的数值字符标示
Chart.SeriesList.Clear() '清除图表原来的图系
't.Sort = "开标日期"
Dim gd As C1Chart.C1Chart = Chart.BaseControl '图表加滚动条
For Each c As String In nms3
Series = Chart.SeriesList.Add() '增加一个图系
Series.Text = c '设置图系的标题
Series.Length = t.Rows.Count '设置图系的长度
Series.DataLabelText = "{#YVAL}%" '所有线条显示数据标示
Dim pval As Double = 0
For r As Integer = 0 To t.Rows.Count - 1
If t.Rows(r)(c) = 0 Then
For i As Integer = r+1 To t.Rows.count -1
If t.Rows(i)(c) > 0 Then
Series.X(r) = r
pval = pval+(t.Rows(i)(c)-pval)/(i-r+1)
Series.Y(r) = Round2(pval * 100,2)
'Series.Y(r) = t.Rows(r)(c)
Exit For
End If
Next
Else
pval = t.Rows(r)(c)
Series.X(r) = r
Series.Y(r) = Round2(pval * 100,2)
'Series.Y(r) = t.Rows(r)(c)
End If
Next
Series.FitType = FitTypeEnum.Spline '采用平滑线条
Next
For r As Integer = 0 To t.Rows.Count - 1
Chart.AxisX.SetValueLabel(r, Format(t.Rows(r)("开标日期"),"yy-MM-dd") & vbcrlf & Format(t.Rows(r)("投标家数"),"0家")) '指定字符表示
Next
Chart.AxisX.AnnoWithLabels = True '启用字符标示
'Chart.VisualEffect = True '加上这一行,让你的图表更漂亮
Chart.LegendVisible = True '显示图列
Chart.LegendCompass= CompassEnum.South '图列显示在南方(底端)
Chart.AxisX.AnnoRotation = - 45 'X轴标示逆时针旋转45度
Dim fnt As New Font("黑体",10)
Chart.AxisX.Font = fnt
gd.ChartArea.AxisX.ScrollBar.Scale = 1.8 '比例,自己算 '图表加滚动条
gd.ChartArea.AxisX.ScrollBar.Visible = True '图表加滚动条
此主题相关图片如下:第一次生成正常.png

此主题相关图片如下:第二次生成.png
