以文本方式查看主题
- Foxtable(狐表) (http://www.foxtable.com/bbs/index.asp)
-- 专家坐堂 (http://www.foxtable.com/bbs/list.asp?boardid=2)
---- 呼叫------程版.........这样的图表看上去很别扭..能按要求做出所需要的图表吗? (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=10771)
|
-- 作者:qhczy
-- 发布时间:2011/6/22 18:26:00
-- 呼叫------程版.........这样的图表看上去很别扭..能按要求做出所需要的图表吗?
此主题相关图片如下:图表疑问.bmp

想让月份停在X轴,年份为图标.年份显在下面.
数据如下:
此主题相关图片如下:图示数据.bmp

代码如下,望高手指点.
Dim q As new QueryBuilder
q.TableName = "订单销售汇总" q.SelectString = "select 年份,sum (销售金额) 销售金额,月份 from {订单} group by 年份,月份 "
q.Build MainTable = Tables("订单销售汇总") Dim g As New CrossTableBuilder("终端订单销售汇总", DataTables("终端订单销售汇总")) g.Caption = "订单销售汇总" g.HGroups.AddDef("年份") g.VGroups.AddDef("月份") g.Totals.AddDef("销售金额", "销售金额") g.Build() MainTable = Tables("订单销售汇总") Tables("订单销售汇总").AutoSizeCols() MainTable.Font = New Font("宋体",10,FontStyle.Regular)
Dim Chart As WinForm.Chart \'定义一个图表变量 Dim Series As WinForm.ChartSeries \'定义一个图系变量 Dim t As Table = Tables("订单销售汇总") \'定义一个变量t引用数据表 Chart = e.Form.Controls("Chart1") \' 引用窗口中的图表 Chart.ChartType = ChartTypeEnum.XYPlot \'图表类型改为XYPlot(线形) Chart.DataSource = "订单销售汇总" \'设置绑定表 Chart.SeriesList.Clear() \'清除图表原来的图系 For Each c As Col In t.Cols If c.Name <> "销售金额" Then Series = Chart.SeriesList.Add() \'增加一个图系 Series.Text = c.Caption \'设置图系的标题 Series.X.DataField = "年份" \'X轴绑定到产品列 Series.Y.DataField = c.Name \'设置Y轴的绑定列 Chart.AxisX.AnnoRotation = - 45 \'X轴标示逆时针旋转45度 Series.TooltipText = "X = {#XVAL}, Y = {#YVAL}"
End If Next Chart.VisualEffect = False \'不采用Visual风格 Chart.LegendVisible = True \'显示图列 Chart.LegendCompass= CompassEnum.South \'图列显示在南方(底端) MainTable = Tables("订单销售汇总") MainTable.Font = New Font("宋体",10,FontStyle.Regular)
希望能生成这样的图表.一年一条线,右边的图示表示年份.
此主题相关图片如下:图表.bmp

[此贴子已经被作者于2011-6-23 19:12:42编辑过]
|
-- 作者:mr725
-- 发布时间:2011/6/22 18:49:00
--
y 轴 ÷ 10000 试试。
|
-- 作者:qhczy
-- 发布时间:2011/6/22 18:51:00
--
给个数据,谁能改改?
|
-- 作者:易服
-- 发布时间:2011/6/23 9:14:00
--
开发版做的很多人无法帮你
|
-- 作者:qhczy
-- 发布时间:2011/6/23 19:13:00
--
呼叫----程版!
|
-- 作者:qhczy
-- 发布时间:2011/6/23 20:23:00
--
附:xls文档
|
-- 作者:狐狸爸爸
-- 发布时间:2011/6/24 8:10:00
--
呵呵,为啥不呼叫狐爸呢?
Dim Chart As WinForm.Chart Dim Series As WinForm.ChartSeries Chart= e.Form.Controls("Chart1") Chart.SeriesList.Clear() Dim nms() As String = {"一","二","三","四","五","六","七","八","九","十","十一","十二"} For Each r As Row In Tables("订单销售汇总").Rows Series = Chart.SeriesList.Add() series.Text = r("年份") Series.Length = nms.length For i As Integer = 0 To nms.Length - 1 Series.X(i) = i Series.Y(i) = r(nms(i)) Next Next For i As Integer = 0 To nms.Length - 1 Chart.AxisX.SetValueLabel(i,nms(i)) Next Chart.AxisX.AnnoWithLabels = True Chart.LegendVisible = True

|
-- 作者:程兴刚
-- 发布时间:2011/6/24 9:41:00
--
就是的,还是狐狸他爸厉害!
|
-- 作者:qhczy
-- 发布时间:2011/6/24 9:50:00
--
做个示例上来看看啊,我这边做出来怎么会报错呢?
|
-- 作者:狐狸爸爸
-- 发布时间:2011/6/24 10:02:00
--
|