Чтобы сообщить Series
, что такое настоящий тип данных, используйте это:
chart2.Series[0].XValueType = ChartValueType.DateTime;
Вы можете добавить DataPoints
в цикле, как в вашем коде, но вам придется использовать элементы, а не весь список:
chart2.Series["s1"].Points.AddXY(ListOfDates[i], ListOfPrices[i]);
Предполагается, что два списка выровнены по одинаковой длине.
Но рекомендуется использовать DataBinding
.
Если ваш источник данных имеет именованных свойств , вы можете использовать эту форму привязки данных:
chart2.Series[0].Points.DataBindXY(datalist, "date", datalist, "price");
Если этого не произошло, вы можете создать комбинированный источник данных следующим образом:
var ListOfData = DBaccess.GetOperationToList()
.Select(x => new { date = x.Data, price = x.Price});
и затем связать его:
chart2.Series[0].Points.DataBind(ListOfData, "date", "price", "");
Обратите внимание, что если вы добавите значения x в виде строк, как вы это сделали, они будут сохранены как 0s
, и вы не сможете использовать их ни для чего, ни для форматирования, ни для поиска, ни для выравнивания точек рядов.