以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 关于图表横坐标取值问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=78716) |
||||||||||
-- 作者:lgj716330 -- 发布时间:2015/12/15 16:32:00 -- 关于图表横坐标取值问题 在正式开始图表制作前,请教一个问题 如果是分组或交叉统计的情况下,横坐标根据哪一分组列生成可以设置条件吗(如果可以,条件如何设?),还是说只能根据最小分组生成
|
||||||||||
-- 作者:大红袍 -- 发布时间:2015/12/15 16:38:00 -- 好好看看chart的全部章节
http://www.foxtable.com/help/topics/0970.htm
|
||||||||||
-- 作者:lgj716330 -- 发布时间:2015/12/15 16:56:00 -- 嗯,有点明白了 |
||||||||||
-- 作者:lgj716330 -- 发布时间:2015/12/15 22:15:00 -- Dim Filter As String \'设置筛选条件 With e.Form.Controls("DW") If .Value IsNot Nothing Then Filter = "所属单位 = \'" & .Value & "\'" End If End With With e.Form.Controls("BMLX") \'在前一筛选条件控制下设置第二项筛选条件,其内容根据第一列的变化而变化 If .Value IsNot Nothing Then If Filter > "" Then Filter = Filter & " And " End If Filter = Filter & "部门类型 = \'" & .Value & "\'" End If End With With e.Form.Controls("BM") \'在前一筛选条件控制下设置第二项筛选条件,其内容根据第一列的变化而变化 If .Value IsNot Nothing Then If Filter > "" Then Filter = Filter & " And " End If Filter = Filter & "上级部门 = \'" & .Value & "\'" End If End With Dim b As New SQLgroupTableBuilder("零售业务分析","零售业务") b.AddTable("零售业务","部门名称","部门档案","部门名称") b.Groups.AddExp("年","Year(所属日期)") b.Groups.AddExp("月","month(所属日期)") b.Groups.AddDef("所属单位") b.Groups.AddDef("上级部门","部门") b.Groups.AddDef("部门类型") b.Totals.AddDef("零售数量","零售数量_本月") b.Totals.AddDef("零售数量","零售数量_累计") b.Decimals = 0 \'小数点取0位 b.Filter = Filter b.Build \'生成统计表 Dim Chart As WinForm.Chart \'定义一个图表变量 Dim Series As WinForm.ChartSeries \'定义一个图系变量 Chart= e.Form.Controls("进度") \' 引用窗口中的图表 Chart.SeriesList.Clear() \'清除图表原来的图系 For Each Year As String In DataTables("零售业务分析").GetValues("年") Series = Chart.SeriesList.Add() \'每年一个图系 Series.Text = Year \'指定图系名称为年份 Series.Length = 12 \'指定图系的数据点数,1年12个月 Chart.AxisX.Min = 1 \'指定X轴的最小值,也就是从1月开始 Chart.AxisX.Max = 12 \'\'指定X轴的最大值,一年只有12个月 For Month As Integer = 1 To 12 \'逐月设置坐标 Series.X(Month) = Month \'指定水平坐标为月份 Dim r As DataRow = DataTables("零售业务分析").Find("年 = " & Year & " And 月 = " & Month)\'找出对应年月的行 If r IsNot Nothing \'如果找到对应年月的行 Series.Y(Month) = r("零售数量_本月") \'指定数量作为垂直坐标 End If Next Next Chart.TopMost = True Chart.AxisX.AnnoWithLabels = True \'启用字符标示 Chart.VisualEffect = True \'加上这一行,让你的图表更漂亮 Chart.LegendVisible = True \'显示图列 Chart.LegendCompass= CompassEnum.South \'图列显示在南方(底端) 这里横坐标如何显示月份呢
|
||||||||||
-- 作者:lgj716330 -- 发布时间:2015/12/15 22:31:00 -- 知道了,Chart.AxisX.AnnoWithLabels = True \'启用字符标示,把这句删掉就可以了 |
||||||||||
-- 作者:lgj716330 -- 发布时间:2015/12/15 22:52:00 -- Chart.AxisX.SetValueLabel(1, "一月份"),1-12月一次性转换如何写 |
||||||||||
-- 作者:大红袍 -- 发布时间:2015/12/16 0:23:00 -- 以下是引用lgj716330在2015/12/15 22:52:00的发言:
Chart.AxisX.SetValueLabel(1, "一月份"),1-12月一次性转换如何写
每一个都是独特的,就最好单独写 |
||||||||||
-- 作者:lgj716330 -- 发布时间:2015/12/16 9:00:00 -- 好吧 |
||||||||||
-- 作者:大红袍 -- 发布时间:2015/12/16 9:25:00 -- 或者看看数字转文字
|
||||||||||
-- 作者:lgj716330 -- 发布时间:2015/12/16 9:47:00 -- 好的,谢谢 |