vb.net图表运行时间,即从T=0开始

vb.net图表运行时间,即从T=0开始,vb.net,charts,timespan,Vb.net,Charts,Timespan,我试图绘制XY数据,看起来有点像这样: x = (1/1/2000 10:01:23, 1/1/2000 10:02:50, 1/1/2000 10:04:11) Y = (1,2,3) 我还有一个开始时间,T=0,例如1/1/2000 10:00:00 我想画的是: X = (00:01:23, 00:02:50, 00:04:11) 'for purpose of question, a random interval Y = (1,2,3) 即通过执行时间(x)-开始时间计算的经过时间

我试图绘制XY数据,看起来有点像这样:

x = (1/1/2000 10:01:23, 1/1/2000 10:02:50, 1/1/2000 10:04:11)
Y = (1,2,3)
我还有一个开始时间,T=0,例如1/1/2000 10:00:00

我想画的是:

X = (00:01:23, 00:02:50, 00:04:11) 'for purpose of question, a random interval
Y = (1,2,3)
即通过执行时间(x)-开始时间计算的经过时间

但是,您无法绘制数据类型timespan的图表:“系列数据点不支持System类型的值。timespan只能使用以下类型的值:Double、Decimal、Single、int、long、uint、ulong、String、DateTime、short、ushort。”

当我无法发送时间跨度时,如何调用:Chart.Series(0).Points.AddXY(ElapsedTime,YValue)?如果我转换为日期时间,我会得到1/1/0001 12:01:23或类似值

确切的相关代码为:

Dim a As DateTime = Convert.ToDateTime(DateTimePicker.Text) 'this is the starttime
Dim b As DateTime = ParseTimeStamp(ReferenceNumber) 'returns a datetime
Dim YValue as integer = 123

    ElapsedTime = ??? 'some code that I can't work out to get elapsed time in chart friendly manner

Chart.Series(0).Points.AddXY(ElapsedTime,YValue)
谢谢

编辑:为寻找解决方案的任何人找到解决方案

Dim a As DateTime = Convert.ToDateTime(StartTime.Text) 'a starting time
Dim b As DateTime = ParseTimeStamp(RefNumber) 'time you want to compare
Dim c As TimeSpan = b.Subtract(a)
Dim d As DateTime = Convert.ToDateTime(c.ToString)

MudLineChart.ChartAreas(0).AxisX.LabelStyle.Format = "HH:mm"
MudLineChart.Series(0).Points.AddXY(d.ToOADate(), YValue)

您需要根据时间设置XValueType系列的格式。

请准确解释要显示的值的类型,以便我们可以建议更接近的等效d/m/yyyy hh:mm:ss?请记住,TimeSpan表示两个日期变量之间的差异,日期变量由许多值(天、月、分钟等)定义,并允许许多不同的表示形式。我希望x原点为00:00:00,所有x标签显示为HH:mm:ss