以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 图表二次生成如何处理? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=122775) |
-- 作者:ZJZK2018 -- 发布时间:2018/8/2 0:19:00 -- 图表二次生成如何处理? 代码如下: \'\'=======招标控制价与报名家数===== 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 \'图表加滚动条 |
-- 作者:有点甜 -- 发布时间:2018/8/2 9:04:00 -- 1、你的表格是不是有空白行?筛选掉空白行是否可以?
2、做个例子发上来测试吧,代码看不出问题。 |
-- 作者:ZJZK2018 -- 发布时间:2018/8/2 13:08:00 -- 投标家数先输入3家后筛选数据生成图表,第二次输入15家后筛选数据生成图表就变成下图。 |
-- 作者:逛逛 -- 发布时间:2018/8/2 14:24:00 -- gd.ChartArea.AxisX.ScrollBar.Scale = 1.8 \'比例,自己算 \'图表加滚动条 比例在0-1 之间
|
-- 作者:有点甜 -- 发布时间:2018/8/2 14:40:00 -- gd.ChartArea.AxisX.ScrollBar.Scale = 0.3 \'0-1,自己设置。 |
-- 作者:ZJZK2018 -- 发布时间:2018/8/2 14:43:00 -- 我改为0.8,效果还是不对 |
-- 作者:有点甜 -- 发布时间:2018/8/2 16:38:00 -- 以下是引用ZJZK2018在2018/8/2 14:43:00的发言:
我改为0.8,效果还是不对
改成多少正确?改成0.5、0.3有没有问题?和你表格行数有什么关联或者关系? |
-- 作者:ZJZK2018 -- 发布时间:2018/8/2 16:55:00 -- 有点甜老师: 按你的说法我都试过,没用,老师能否帮我测试一下,附件在3楼
|
-- 作者:有点甜 -- 发布时间:2018/8/2 17:19:00 -- 以下是引用ZJZK2018在2018/8/2 16:55:00的发言:
有点甜老师: 按你的说法我都试过,没用,老师能否帮我测试一下,附件在3楼
1、如何才是正确的效果?
2、改成0.5有什么不对?哪里不对? |
-- 作者:ZJZK2018 -- 发布时间:2018/8/2 17:45:00 -- 老师你能帮我测试一下吗? |