以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  XYPlot怎么实现垂直坐标有多个不同数值类型显示出来呢?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=158121)

--  作者:李孝春
--  发布时间:2020/11/9 10:52:00
--  XYPlot怎么实现垂直坐标有多个不同数值类型显示出来呢?
数据库文件结构:

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

代码:
Dim Chart As WinForm.Chart \'定义一个图表变量
Dim Series As WinForm.ChartSeries \'定义一个图系变量
Dim t As Table = Tables("统计表") \'定义一个变量t引用数据表
Chart= e.Form.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.TooltipText = "X = {#XVAL}, Y = {#YVAL}"
    Series.X(i) = t.Rows(i)("月份") \'指定水平坐标
    Series.Y(i) = t.Rows(i)("信息量") \'指定垂直坐标
    Series.Y(i) = t.Rows(i)("阅读量") \'指定垂直坐标
    Series.Y(i) = t.Rows(i)("点赞量") \'指定垂直坐标
    Series.Y(i) = t.Rows(i)("互动量") \'指定垂直坐标
Next
只能实现

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

怎么实现
信息量 阅读量 点赞量 互动量 都可以以曲线的方式显示出来呢


[此贴子已经被作者于2020/11/9 12:25:02编辑过]

--  作者:有点蓝
--  发布时间:2020/11/9 10:56:00
--  
参考:http://www.foxtable.com/webhelp/topics/0970.htm
--  作者:李孝春
--  发布时间:2020/11/9 11:27:00
--  回复:(有点蓝)参考:http://www.foxtable.com/webh...
有没有办法直接在节点上显示具体的数据呢? 红色部分代码怎么修改为直接显示数据  而不是鼠标放上去后再显示数据

代码如下
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 \'图表类型改为Bar(条形)
Chart.SeriesList.Clear() \'清除图表原来的图系
For Each c As Col In t.Cols
    If c.Name <> "平台名称" Then
        Series = Chart.SeriesList.Add() \'增加一个图系
        Series.Text = c.Name \'设置图系的标题
        Series.Length = t.Rows.Count \'设置图系的长度

        For r As Integer = 0 To t.Rows.Count - 1
            Series.X(r) = r
            Series.Y(r) = t.Rows(r)(c.Name)
            Series.TooltipText = "【{#YVAL}】"
        Next
    End If
Next
For r As Integer = 0 To t.Rows.Count - 1
    Chart.AxisX.SetValueLabel(r, t.Rows(r)("月份")) \'指定字符表示    指定x轴显示的名称
Next
Chart.AxisX.AnnoWithLabels = True \'启用字符标示
’Chart.VisualEffect = True \'加上这一行,让你的图表更漂亮
Chart.LegendVisible = True \'显示图列
Chart.LegendCompass= CompassEnum.South \'图列显示在南方(底端)

代码后效果如下:

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

[此贴子已经被作者于2020/11/9 11:35:51编辑过]

--  作者:有点蓝
--  发布时间:2020/11/9 11:35:00
--  
参考:http://www.foxtable.com/webhelp/topics/0982.htm
--  作者:李孝春
--  发布时间:2020/11/9 12:24:00
--  回复:(有点蓝)参考:http://www.foxtable.com/webh...
有点蓝老师  继续麻烦你一下  当前为了便于分不同指标查看显示不同的表效果
有没有更简便的办法直接在图表上点击 信息量  阅读量  点赞量  互动量  粉丝量  然后在同一个图表里面显示对应的单独曲线图呢?

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

比如点  信息量  就对应在综合曲线图表区域里面的只显示信息量的曲线图(具体的代码怎么修正呢?)
【主要是想实现一个图表,在默认显示五条曲线图,然后根据用户点击不同而显示不同曲线图】

图片点击可在新窗口打开查看此主题相关图片如下:1122.png
图片点击可在新窗口打开查看
代码如下:
Dim Chart As WinForm.Chart \'定义一个图表变量
Dim Series As WinForm.ChartSeries \'定义一个图系变量
Dim t As Table = Tables("统计表") \'定义一个变量t引用数据表
Chart = e.Form.Controls("Chart6") \' 引用窗口中的图表
Chart.ChartType = ChartTypeEnum.XYplot \'图表类型改为Bar(条形)
Chart.SeriesList.Clear() \'清除图表原来的图系
For Each c As Col In t.Cols
    If c.Name <> "平台名称" Then
        Series = Chart.SeriesList.Add() \'增加一个图系
        Series.Text = c.Name \'设置图系的标题
        Series.Length = t.Rows.Count \'设置图系的长度

        For r As Integer = 0 To t.Rows.Count - 1
            Series.X(r) = r
            Series.Y(r) = t.Rows(r)(c.Name)
\'
\'Series.DataLabelText = "{#YVAL}"
        Next
    End If
Next
For r As Integer = 0 To t.Rows.Count - 1
    Chart.AxisX.SetValueLabel(r, t.Rows(r)("月份")) \'指定字符表示    指定x轴显示的名称
Next
Chart.AxisX.AnnoWithLabels = True \'启用字符标示
\'Chart.VisualEffect = True \'加上这一行,让你的图表更漂亮
Chart.LegendVisible = True \'显示图列
Chart.LegendCompass= CompassEnum.South \'图列显示在南方(底端)
Dim gp As WinForm.GroupBox = e.Form.Controls("GroupBox5")
gp.Text="综合曲线"
[此贴子已经被作者于2020/11/9 12:27:17编辑过]

--  作者:有点蓝
--  发布时间:2020/11/9 13:45:00
--  
没有办法,只能点击不同的按钮生成不同的图表