从图表中读取数据,ms为x值

时间:2014-01-17 07:46:06

标签: charts

我在将图表添加到图表并将其读回数组时遇到了一些麻烦。

使用tis代码iam在我的图表中添加了一个新的piont,y_value是一个普通的双变量 time_stamp是一个包含当前白天(15:56:45:799)的字符串,带有毫秒数

string time_stamp = DateTime.Now.ToLongTimeString() + ":" + DateTime.Now.Millisecond.ToString();

chart_logger.Series[0].Points.AddXY(time_stamp, y_value);

绘制图表后我想在txt文件中保存alle数据,所以我希望从图表中读取所有点 我尝试了

DataPoint[] asd = chart_logger.Series[0].Points.ToArray();

它读取了图表中的所有y值,但是x值始终为零 有人有任何想法

感谢您的帮助

拉​​尔夫

1 个答案:

答案 0 :(得分:0)

你需要使用`ToOADate()'和'FromOADate(double d)'。

chart_logger.Series[0].XValueType = ChartValueType.DateTime;
chart_logger.ChartAreas[0].AxisX.LabelStyle.Format = "MM/dd/yyyy HH:mm:ss.fff";
chart_logger.Series[0].Points.AddXY(DateTime.Now.ToOADate(), y_value);

DataPoint[] asd = chart_logger.Series[0].Points.ToArray();
var x = DateTime.FromOADate(asd[0].XValue);

或者

chart_logger.Series[0].YValuesPerPoint = 2;
var time = DateTime.Now;
string time_stamp = time.ToLongTimeString() + ":" + time.Now.Millisecond.ToString();
chart_logger.Series[0].Points.AddXY(time_stamp, y_value, time.ToOADate());

DataPoint[] asd = chart_logger.Series[0].Points.ToArray();
var x = DateTime.FromOADate(asd[0].YValues[1]);