Foxtable(狐表)用户栏目专家坐堂 → 饼图图系编号和数据点编号问题


  共有3919人关注过本帖平板打印复制链接

主题:饼图图系编号和数据点编号问题

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


加好友 发短信
等级:幼狐 帖子:103 积分:1165 威望:0 精华:0 注册:2017/6/10 10:52:00
饼图图系编号和数据点编号问题  发帖心情 Post By:2022/12/12 9:14:00 [只看该作者]

1、如何实现鼠标移动某个图例时,动态实时显示此图例的内容,我现在使用的messagebox.show,每次移动都要“确认”一下,太麻烦了
2、不要显示是第几个图系,而是显示这个图系的名称,例:9号场地,1785620
3、图和图例所在位置的颜色可以修改
4、右侧图例可以多显示几行,不要分成2列

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

代码:
Dim Chart As WinForm.Chart '定义一个图表变量
Dim Series As WinForm.ChartSeries '定义一个图系变量
Dim t As Table = Tables("统计表4") '定义一个变量t引用数据表--------------
Dim sm As Integer = t.Compute("Sum(净重)") '计算总数量
Chart = Forms("窗口2").Controls("Chart1") ' 引用窗口中的图表--------------
Chart.VisualEffect = True '加上这一行,让你的图表更漂亮
Chart.ChartType = ChartTypeEnum.Pie '图表1类型改为Bar(条形)
For Each r As Row In t.Rows
    Series = Chart.SeriesList.Add() '增加一个图系
    Series.Length = 1 '一个系列只能包括一个值
'    Series.Text = r("发货单位") & "(" & r("净重") & ")" '设置图系的标题
     Series.Text = r("发货单位") '设置图系的标题   
    Series.Y(0) = r("净重") '指定值
    Series.DataLabelText = Math.Round(r("净重") * 100 / sm, 2) & "%" '计算百分比
Next
Chart.LegendVisible = True '显示图列
Chart.LegendCompass = CompassEnum.East '图列显示在东方(右方)

事件MouseMove:
Dim s As Integer '定义存储图系编号的变量
Dim p As Integer '定义存储数据点编号的变量
Dim Chart As WinForm.Chart = Forms("窗口2").Controls("Chart1") '获得Chart对象的引用------------
If Chart.CoordToDataIndex(e.x, e.y , s , p) Then '如果鼠标位置存在有效的图序和数据点
    Dim Series As WinForm.ChartSeries = Chart.SeriesList(s) '获得鼠标位置的图序
    Dim msg As String
    msg = "单击的是第" & (s + 1) & "个图系,该点的值为 " & Series.Y(p)
    Messagebox.Show(msg, "提示")
End If

 回到顶部