以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 图表的横坐piaoX轴的刻度如何控制? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=129958) |
||||
-- 作者:happyft -- 发布时间:2019/1/9 16:12:00 -- 图表的横坐piaoX轴的刻度如何控制?
如上图,下面的横坐标会随机变动,如果想根据每个产品编码的采购日期的数量来显示横轴的点数,应该如何控制? 即每个不同的产品,其有多少个采购日期横轴就显示几个点 谢谢!
|
||||
-- 作者:有点甜 -- 发布时间:2019/1/9 16:33:00 -- Dim cd As String = e.Form.Controls("ComboBox_pcode").Value If cd > "" Then \'---生成图表 Dim rqs As List(of String) = DataTables("表A").GetValues("采购日期","产品编码 = \'" & cd & "\'","采购日期") Dim Chart As WinForm.Chart \'定义一个图表变量 Dim Series As WinForm.ChartSeries \'定义一个图系变量 Chart = e.Form.Controls("Chart1") \' 引用窗口中的图表 Chart.DataSource = "表A" \'设置绑定表 Chart.SeriesList.Clear() \'清除图表原来的图系 Chart.Axisx.ClearValueLabel \'清除设置的数值字符标示 \' Chart.AxisX.Max = rqs.Count + 1 \'指定X轴的最大值 Series = Chart.SeriesList.Add() \'增加一个图系 Series.Length = rqs.Count \'设置图系的长度 For i As Integer = 0 To rqs.Count - 1 \'指定每个数据点的位置 If i < rqs.Count Then Series.X(i) = i \'指定水平坐标 Dim r As DataRow = DataTables("表A").Find("采购日期 = \'" & rqs(i) & "\'") \'找出对应年月的行 If r IsNot Nothing \'如果找到对应年月的行 Series.Y(i) = r("单价") \'指定数量作为垂直坐标 Chart.AxisX.SetValueLabel(i,format(r("采购日期"), "yyyyMMdd")) \'指定字符表示 End If End If Next Chart.AxisX.AnnoRotation = - 45 Chart.AxisX.AnnoWithLabels = True \'启用字符标示 Series.LineColor = Color.LightSeaGreen Series.MarkShape = MarkShapeEnum.Dot Series.MarkColor = Color.Red End If |
||||
-- 作者:HappyFt -- 发布时间:2019/1/9 17:47:00 -- 此主题相关图片如下:tim截图20190109155548.jpg 我是想控制刻度线的数量,现在刻度好象是随时显示的
|
||||
-- 作者:有点甜 -- 发布时间:2019/1/9 17:52:00 -- Dim cd As String = e.Form.Controls("ComboBox_pcode").Value If cd > "" Then \'---生成图表 Dim rqs As List(of String) = DataTables("表A").GetValues("采购日期","产品编码 = \'" & cd & "\'","采购日期") Dim Chart As WinForm.Chart \'定义一个图表变量 Dim Series As WinForm.ChartSeries \'定义一个图系变量 Chart = e.Form.Controls("Chart1") \' 引用窗口中的图表 Chart.DataSource = "表A" \'设置绑定表 Chart.SeriesList.Clear() \'清除图表原来的图系 Chart.Axisx.ClearValueLabel \'清除设置的数值字符标示 \' Chart.AxisX.Max = rqs.Count + 1 \'指定X轴的最大值 Series = Chart.SeriesList.Add() \'增加一个图系 Series.Length = rqs.Count \'设置图系的长度 Chart.AxisX.Major = 1 For i As Integer = 0 To rqs.Count - 1 \'指定每个数据点的位置 If i < rqs.Count Then Series.X(i) = i \'指定水平坐标 Dim r As DataRow = DataTables("表A").Find("采购日期 = \'" & rqs(i) & "\'") \'找出对应年月的行 If r IsNot Nothing \'如果找到对应年月的行 Series.Y(i) = r("单价") \'指定数量作为垂直坐标 Chart.AxisX.SetValueLabel(i,format(r("采购日期"), "yyyyMMdd")) \'指定字符表示 End If End If Next Chart.AxisX.AnnoRotation = - 45 Chart.AxisX.AnnoWithLabels = True \'启用字符标示 Series.LineColor = Color.LightSeaGreen Series.MarkShape = MarkShapeEnum.Dot Series.MarkColor = Color.Red End If |