以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]图表问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=4781)

--  作者:ia928
--  发布时间:2009/10/29 13:06:00
--  [求助]图表问题
文件中表数据为SQL数据库后台汇总而来,想得到如图的图表,代码怎么写,看了帮助还是没搞懂

图片点击可在新窗口打开查看此主题相关图片如下:图表.bmp
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2(重新上传).rar

[此贴子已经被作者于2009-10-29 13:44:45编辑过]

--  作者:czy
--  发布时间:2009/10/29 13:12:00
--  
你的文件什么东西也没有,就个空表?
--  作者:ia928
--  发布时间:2009/10/29 13:38:00
--  
以下是引用czy在2009-10-29 13:12:00的发言:
你的文件什么东西也没有,就个空表?

重新上传了,帮帮忙,谢谢


--  作者:狐狸爸爸
--  发布时间:2009/10/29 15:47:00
--  
Dim Chart As WinForm.Chart \'定义一个图表变量
Dim Series As WinForm.ChartSeries \'定义一个图系变量
Dim tb As Table = Tables("区域汇总")
Dim cs() As String = {"一月","二月","三月","四月","五月","六月","七月","八月","九月"}
Chart= e.Form.Controls("Chart1") \' 引用窗口中的图表
Chart.SeriesList.Clear() \'清除图表原来的图系
For Each r As Row in tb.Rows
    Series = Chart.SeriesList.Add() \'增加一个图系
    Series.Length = cs.Length
    Series.Text = r("区域")   
    For i As integer = 0 to cs.Length - 1
         Series.X(i) = i \'指定水平坐标
        Series.Y(i) = r(cs(i))
    Next
Next
For i As integer = 0 to cs.Length - 1
     Chart.AxisX.SetValueLabel(i, cs(i)) \'指定字符表示
Next
Chart.AxisX.AnnoWithLabels = True \'启用字符标示
Chart.LegendVisible = True \'显示图列
Chart.LegendCompass= CompassEnum.East \'图列显示在南方(底端)

--  作者:ia928
--  发布时间:2009/10/29 16:01:00
--  
谢谢狐爸,仔细领会
--  作者:lihe60
--  发布时间:2009/10/29 16:13:00
--  

如果某个月如三月的数据为零,不想三月不在横坐标上显示,如何设置?


--  作者:yangming
--  发布时间:2009/10/29 16:18:00
--  
以下是引用lihe60在2009-10-29 16:13:00的发言:

如果某个月如三月的数据为零,不想三月不在横坐标上显示,如何设置?

这不好办,呵呵


--  作者:mr725
--  发布时间:2009/10/29 16:41:00
--  
以下是引用lihe60在2009-10-29 16:13:00的发言:

如果某个月如三月的数据为零,不想三月不在横坐标上显示,如何设置?

有点无礼! 因为其他区域有三月份数据啊 ?


--  作者:lihe60
--  发布时间:2009/10/31 8:12:00
--  

假如某个月如三月的数据为零,想让三月不在横坐标上显示,原来三月的位置填充四月,依次类推,如何设置?


--  作者:狐狸爸爸
--  发布时间:2009/11/2 8:33:00
--  
既然是编码加进去的数据,你跳过3月不就行了吗?