以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]图表关于时间轴的问题!【未解决】  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=110201)

--  作者:lhpc120
--  发布时间:2017/11/28 20:14:00
--  [求助]图表关于时间轴的问题!【未解决】
数据表样式如下:

编号     数字    时间
1        50     2017-10-10 06:00:15
2        60     2017-10-10 07:30:15
3        70     2017-10-10 12:25:00
4        80     2017-10-10 17:05:59
5        90     2017-10-10 19:00:27


希望图标X轴 显示 00.00.00-23.59.00  显示的时候是0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Y轴再相同的点数位置  显示数字

以下为样图求代码:


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20171128201246.jpg
图片点击可在新窗口打开查看


[此贴子已经被作者于2017/11/29 9:29:47编辑过]

--  作者:lhpc120
--  发布时间:2017/11/28 20:38:00
--  
没人回答吗?
这是别人系统出来的图:

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20171128203727.jpg
图片点击可在新窗口打开查看


--  作者:有点蓝
--  发布时间:2017/11/28 21:43:00
--  
Dim Chart As WinForm.Chart \'定义一个图表变量
Dim Series As WinForm.ChartSeries \'定义一个图系变量
Dim t As Table = Tables("表A") \'定义一个变量t引用数据表
Chart= e.Form.Controls("Chart1") \' 引用窗口中的图表
‘’Chart.VisualEffect = True
Chart.ChartType = ChartTypeEnum.XYPlot
Chart.SeriesList.Clear() \'清除图表原来的图系
Series = Chart.SeriesList.Add() \'增加一个图系
Series.Length = 25 \'图系的数据点数等于表的行数
For i As Integer = 0 To 24 \'指定每个数据点的位置
    Series.X(i) = i \'指定水平坐标
    Series.Y(i) = 0
Next

For i As Integer = 0 To t.Rows.Count - 1 \'指定每个数据点的位置
    Dim d As Date = t.Rows(i)("时间")
    Series.Y(d.Hour) = t.Rows(i)("数字") \'指定垂直坐标
Next

--  作者:lhpc120
--  发布时间:2017/11/29 8:57:00
--  
漂亮~~~
--  作者:lhpc120
--  发布时间:2017/11/29 9:29:00
--  
问题是整点的和半点的解决了,那09分怎么解决啊!

Dim d As Date = "2015-11-21" \'当前时间
Dim t As DataTable
cmd1.Com mand Text = "Sele ct * Fro m {水表抄表} W here 编号 = 2 And 抄表时刻 >= convert(varchar(10),\'" & d & "\',120) And 抄表时刻 < convert(varchar(10),dateadd(d,1,\'" & d & "\'),120)"
t = cmd1.ExecuteReader()
Dim Chart As WinForm.Chart \'定义一个图表变量
Dim Series As WinForm.ChartSeries \'定义一个图系变量
\'Dim t As Table = dt \'定义一个变量t引用数据表
Chart= e.Form.Controls("Chart1") \' 引用窗口中的图表
\'\'Chart.VisualEffect = True
Chart.ChartType = ChartTypeEnum.XYPlot
Chart.SeriesList.Clear() \'清除图表原来的图系
Series = Chart.SeriesList.Add() \'增加一个图系
Series.Length = 86400 \'图系的数据点数等于表的行数
For i As Integer = 0 To 86400 \'指定每个数据点的位置
    Series.X(i) = i/3600 \'指定水平坐标
    Series.Y(i) = 0
Next

For i As Integer = 0 To t.dataRows.Count - 1 \'指定每个数据点的位置
    Dim d1 As Date = t.dataRows(i)("抄表时刻")
    Series.Y(d1.Second) = t.dataRows(i)("示数") \'指定垂直坐标
Next

我这样改是不是有问题?

--  作者:有点甜
--  发布时间:2017/11/29 9:47:00
--  

请上传具体例子测试

 

Dim d As Date = "2015-11-21" \'当前时间
Dim t As DataTable
cmd1.CommandText = "Sele ct * Fro m {水表抄表} W here 编号 = 2 And 抄表时刻 >= convert(varchar(10),\'" & d & "\',120) And 抄表时刻 < convert(varchar(10),dateadd(d,1,\'" & d & "\'),120)"
t = cmd1.ExecuteReader()
Dim Chart As WinForm.Chart \'定义一个图表变量
Dim Series As WinForm.ChartSeries \'定义一个图系变量
\'Dim t As Table = dt \'定义一个变量t引用数据表
Chart= e.Form.Controls("Chart1") \' 引用窗口中的图表
\'\'Chart.VisualEffect = True
Chart.ChartType = ChartTypeEnum.XYPlot
Chart.SeriesList.Clear() \'清除图表原来的图系
Series = Chart.SeriesList.Add() \'增加一个图系
Series.Length = t.DataRows.count\'图系的数据点数等于表的行数
For i As Integer = 0 To t.dataRows.Count - 1 \'指定每个数据点的位置
    Series.X(i) = i \'指定水平坐标
    Series.Y(i) = t.dataRows(i)("示数") \'指定垂直坐标
Next