我正在从csv文件中读取日期/时间和数据,并将其存储在折线图中。我的日期/时间字符串是1-1-2014 21:55:42
或18-02-2014 00:00:00
,这实际上是第一个条目,我有几个小时的数据。
首先我将chartArea X轴lablestyle设置为正确的格式:"d-M-yyyy HH:mm:ss"
。
然后我使用与上面相同的格式将我的实际日期字符串解析为DateTime格式:d-M-yyyy HH:mm:ss
。并将数据添加到图表中。
我确保你的日期是正确的:
我的代码:
private void button2_Click_1(对象发件人,EventArgs e) { 串行; char [] delimiters = {';',',','|' };
chart1.Series["Series1"].XValueType = ChartValueType.Time; chart1.ChartAreas["ChartArea1"].AxisX.LabelStyle.Format = "d-M-yyyy HH:mm:ss"; chart1.Series["Series1"].Points.Clear(); using (System.IO.StreamReader sr = new System.IO.StreamReader(filename)) { while (!sr.EndOfStream) { line = sr.ReadLine(); DateTime newDateTime = new DateTime(); string[] part = line.Split(delimiters); Console.WriteLine(part[0]); newDateTime = DateTime.ParseExact( part[0], "d-M-yyyy HH:mm:ss", CultureInfo.InvariantCulture ); chart1.Series["Series1"].Points.AddXY(newDateTime, part[5]); } } chart1.Refresh(); }
答案 0 :(得分:2)
问题:您已将X-Axis
的自定义格式设置为d-M-yyyy HH:mm:ss
,但您只是提供了datetime
而未对其进行格式化。
替换它:
chart1.Series["Series1"].Points.AddXY(newDateTime, part[5]);
有了这个:
chart1.Series["Series1"].Points.AddXY(
newDateTime.ToString("d-M-yyyy HH:mm:ss"), part[5]);