Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共16 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:呼叫------程版.........这样的图表看上去很别扭..能按要求做出所需要的图表吗?

1楼
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编辑过]
2楼
mr725 发表于:2011/6/22 18:49:00
y 轴 ÷ 10000 试试。
3楼
qhczy 发表于:2011/6/22 18:51:00

给个数据,谁能改改?

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:图表示例.zip

4楼
易服 发表于:2011/6/23 9:14:00
开发版做的很多人无法帮你
5楼
qhczy 发表于:2011/6/23 19:13:00
呼叫----程版!
6楼
qhczy 发表于:2011/6/23 20:23:00

附:xls文档

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:数据.zip

7楼
狐狸爸爸 发表于: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

 

图片点击可在新窗口打开查看

8楼
程兴刚 发表于:2011/6/24 9:41:00
就是的,还是狐狸他爸厉害!
9楼
qhczy 发表于:2011/6/24 9:50:00
做个示例上来看看啊,我这边做出来怎么会报错呢?
10楼
狐狸爸爸 发表于:2011/6/24 10:02:00
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目80.foxdb

共16 条记录, 每页显示 10 条, 页签: [1] [2]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .03125 s, 5 queries.