Foxtable(狐表)用户栏目专家坐堂 → 数据标识 能不能用百分比 体现呢


  共有4027人关注过本帖树形打印复制链接

主题:数据标识 能不能用百分比 体现呢

帅哥哟,离线,有人找我吗?
fubblyc
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2355 积分:16181 威望:0 精华:0 注册:2013/9/1 8:09:00
数据标识 能不能用百分比 体现呢  发帖心情 Post By:2018/5/14 16:14:00 [只看该作者]

数据标识 能不能用百分比 体现呢,对应的表的数据是百分比的形式

图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20180514161028.png
图片点击可在新窗口打开查看


[此贴子已经被作者于2018/5/14 16:14:54编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/5/14 16:40:00 [只看该作者]

Dim Chart As WinForm.Chart '定义一个图表变量
Dim Series As WinForm.ChartSeries '定义一个图系变量
Chart= e.Form.Controls("Chart1") ' 引用窗口中的图表
Chart.SeriesList.Clear() '清除图表原来的图系
Series = Chart.SeriesList.Add() '增加一个图系
Series.Length = 10 '新增图系包括10个数据点
For i As Integer = 0 To 9 '指定每个数据点的位置
    Series.X(i) = i '指定水平坐标
    Series.Y(i) = i + Rand.Next(5) '垂直坐标用随机数生成
Next
Dim c1Chart1 = Chart.basecontrol
Dim lbls = c1Chart1.ChartLabels

For i As Integer = 0 To 9
    Dim lbl As C1.Win.C1Chart.Label = lbls.LabelsCollection.AddNewLabel()
    lbl.Text = Format(series.y(i), "0.00%")
   
    lbl.AttachMethod = C1.Win.C1Chart.AttachMethodEnum.DataIndex
    lbl.AttachMethodData.GroupIndex = 0
    lbl.AttachMethodData.SeriesIndex = 0
    lbl.AttachMethodData.PointIndex = i
    lbl.Style.ForeColor = Color.Red
    lbl.style.font = new font("宋体", 15)
    lbl.Compass = LabelCompassEnum.South
    lbl.Visible = True
Next

 回到顶部
帅哥哟,离线,有人找我吗?
fubblyc
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2355 积分:16181 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2018/5/15 10:35:00 [只看该作者]

甜老师,奇怪,一开始还可以,后面重新就出错了,注释掉那段代码,其他的没问题

图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20180515103106.png
图片点击可在新窗口打开查看

Dim Chart As WinForm.Chart '定义一个图表变量
Dim Series As WinForm.ChartSeries '定义一个图系变量
Chart = forms("人脸识别图表").Controls("Chart1") ' 引用窗口中的图表
Chart.ChartType = ChartTypeEnum.XYPlot '图表1类型该为Bar(条形)
Chart.ChartType2 = ChartTypeEnum.Bar '图表2类型该为线形
Chart.DataSource = "瑞为人脸识别年龄段统计_table1" '设置绑定表

Chart.SeriesList.Clear() '清除图表原来的图系
Series = Chart.SeriesList.Add() '给图表1增加一个图系
Series.Text = "成交率"
Series.X.DataField = "门店名称" 'X轴绑定到产品列
Series.Y.DataField = "成交率_合计" 'Y轴绑定到数量列

Dim c1Chart1 = Chart.basecontrol
Dim lbls = c1Chart1.ChartLabels
For i As Integer = 0 To 9
    Dim lbl As C1.Win.C1Chart.Label = lbls.LabelsCollection.AddNewLabel()
    lbl.Text = Format(series.y(i), "0%")
    lbl.AttachMethod = C1.Win.C1Chart.AttachMethodEnum.DataIndex
    lbl.AttachMethodData.GroupIndex = 0
    lbl.AttachMethodData.SeriesIndex = 0
    lbl.AttachMethodData.PointIndex = i
    lbl.Style.ForeColor = Color.Red
    lbl.style.font = new font("微软雅黑", 15)
    lbl.Compass = LabelCompassEnum.South
    lbl.Visible = True
Next


Chart.SeriesList2.Clear() '清除图表原来的图系
Series = Chart.SeriesList2.Add() '给图表2增加一个图系
Series.Text = "总客流"
Series.X.DataField = "门店名称" 'X轴绑定到产品列
Series.Y.DataField = "总客流_合计" 'Y轴绑定到数量列
'Series.DataLabelText = "{#YVAL}"

Chart.LegendVisible = True '显示图列
Chart.LegendCompass= CompassEnum.South '图列显示在南方(底端)
Chart.AxisY.Text = "成交率"
Chart.AxisY2.Text = "总客流"
Chart.AxisX.AnnoRotation = - 45 'X轴标示逆时针旋转45度

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/5/15 10:46:00 [只看该作者]

这个循环,请改成你表的行

 

For i As Integer = 0 To 9

 

 

For i As Integer = 0 To Tables("瑞为人脸识别年龄段统计_table1").Rows.Count-1

[此贴子已经被作者于2018/5/15 10:46:00编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/5/15 10:47:00 [只看该作者]

如果还是有问题,请上传具体实例测试。


 回到顶部
帅哥哟,离线,有人找我吗?
fubblyc
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2355 积分:16181 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2018/5/15 11:21:00 [只看该作者]

可以了,甜老师,原来是这个问题

 回到顶部
帅哥哟,离线,有人找我吗?
mxl810823
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:349 积分:2968 威望:0 精华:0 注册:2018/2/27 17:32:00
  发帖心情 Post By:2019/4/22 19:28:00 [只看该作者]

'绘图

Dim Chart  As WinForm.Chart  '定义一个图表变量
Dim Series As WinForm.ChartSeries '定义一个图系变量
Dim t As Table =  Tables("月FTY") '定义一个变量t引用数据表
Chart = e.Form.Controls("Chart1") ' 引用窗口中的图表
Chart.VisualEffect = False
Chart.AxisX.DateType = True '明确指定X轴是日期型
Chart.AxisX.AnnoFormatString = "MM-dd" '指定日期标示格式
Chart.AxisY.Min = 0.98 '指定Y轴的最小值
Chart.AxisY.Max = 1 '指定Y轴的最大值
Chart.AxisY.Major = 0.002 '主刻度间隔值为
Chart.SeriesList.Clear() '清除图表原来的图系
For r As Integer = 0 To t.Rows.count - 1
    Series = Chart.SeriesList.Add() '增加一个图系
    Series.Text = t.rows(r)("项目名称")  '设置图系的标题
    Series.Length = t.Cols.Count - 1  '设置图系的长度
    For c As Integer = 1 To t.Cols.count -1
        Series.X(c - 1) = c - 1
        
        Dim str = "" & t.Rows(r)(c) & ""
        str = System.Text.RegularExpressions.Regex.Replace(str, "[^0-9.]", "")
        Dim yv As Double = val(str) / 100
        
        Series.Y(c - 1) = yv
        
        Chart.AxisX.SetValueLabel(c - 1, t.Cols(c).caption) '指定字符表示
        

    Next
    Dim c1Chart1 = Chart.basecontrol
    Dim lbls = c1Chart1.ChartLabels
    For i As Integer = 1 To t.Cols.count -1
        Dim lbl As C1.Win.C1Chart.Label = lbls.LabelsCollection.AddNewLabel()
        lbl.Text = Format(series.y(i-1), "0.00%")
        
        lbl.AttachMethod = C1.Win.C1Chart.AttachMethodEnum.DataIndex
        lbl.AttachMethodData.GroupIndex = 0
        lbl.AttachMethodData.SeriesIndex = 0
        lbl.AttachMethodData.PointIndex = i-1
        lbl.Style.ForeColor = Color.Red
        lbl.style.font = new font("宋体", 8)
        lbl.Compass = LabelCompassEnum.South
        lbl.Visible = True
    Next

Next
为什么只在第一条线有显示呢??
图片点击可在新窗口打开查看此主题相关图片如下:23.png
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106023 积分:539208 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/4/22 20:19:00 [只看该作者]

 lbl.AttachMethodData.SeriesIndex = r

 回到顶部