以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 生成以用户列的每一个用户生成一个折线图? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=187148) |
|
-- 作者:sunion0769 -- 发布时间:2023/6/26 11:22:00 -- 生成以用户列的每一个用户生成一个折线图? 如图,如何生成以用户列的每一个用户生成一个折线图 遇到的问题是:代码是将全部用户生成在一张图上了 \'制作报表 Dim doc As New PrintDoc \'定义一个报表 Dim tbl As Table = Tables("表A") For ii As Integer = tbl.TopRow To tbl.BottomRow Dim rw As Row = tbl.Rows(ii) Dim ra As New prt.RenderArea \'定义一个容器 ra.SplitVertBehavior = prt.SplitBehaviorEnum.Never \'禁止容器因为分页而被垂直分割 ra.SplitHorzBehavior = prt.SplitBehaviorEnum.Never \'禁止水平分割 \'---------------------插入图表 Dim Chart As WinForm.Chart \'定义一个图表变量 Dim Series As WinForm.ChartSeries \'定义一个图系变量 Dim t As Table = Tables("表A") \'定义一个变量t引用数据表 Chart = Forms("窗口1").Controls("Chart1") \' 引用窗口中的图表 Chart.SeriesList.Clear() \'清除图表原来的图系 Series = Chart.SeriesList.Add() \'增加一个图系 Series.Length = t.Rows.Count \'设置图系的长度 For i As Integer = 0 To t.Rows.Count - 1 \'指定每个数据点的位置 Series.X(i) = i \'指定水平坐标 Series.Y(i) = t.Rows(i)("项目1") \'指定垂直坐标 Chart.AxisX.SetValueLabel(i, t.Rows(i)("用户")) \'指定字符表示 Next Chart.AxisX.AnnoWithLabels = True \'启用字符标示 Dim rm As New prt.RenderImage rm.Image = Chart.Image() doc.Body.Children.Add(rm) \'将图片对象加入报表 Next Doc.Preview() \'预览报表 [此贴子已经被作者于2023/6/26 11:22:42编辑过]
|
|
-- 作者:有点蓝 -- 发布时间:2023/6/26 11:34:00 -- 一个用户一个图片?还是一张图里一个用户一条折线? [此贴子已经被作者于2023/6/26 11:34:25编辑过]
|
|
-- 作者:sunion0769 -- 发布时间:2023/6/26 11:47:00 --
|
|
-- 作者:有点蓝 -- 发布时间:2023/6/26 12:02:00 -- Dim doc As New PrintDoc \'定义一个报表 Dim tbl As Table = Tables("表A") For Each s As String In tbl.DataTable.GetValues("用户") \'---------------------插入图表 Dim drs As List(Of DataRow) = tbl.DataTable.Select("用户=\'" & s & "\'", "日期") Dim Chart As New ChartBuilder Chart.SeriesList.Clear() \'清除图表原来的图系 Series = Chart.SeriesList.Add() \'增加一个图系 Series.Length = drs.Count \'设置图系的长度 For i As Integer = 0 To drs.Count - 1 \'指定每个数据点的位置 Series.X(i) = i \'指定水平坐标 Series.Y(i) = drs(i)("项目1") \'指定垂直坐标 Chart.AxisX.SetValueLabel(i, format(drs("日期"), "MM-dd")) \'指定字符表示 Next Chart.AxisX.AnnoWithLabels = True \'启用字符标示 Dim rm As New prt.RenderImage rm.Image = Chart.Image() doc.Body.Children.Add(rm) \'将图片对象加入报表 Next Doc.Preview() \'预览报表
|