Необходимо найти решение для отображения всех значений дат на графике свечей в С#. Создайте структуру, содержащую дату в виде строки вместе со значениями для открытия, максимума, минимума и закрытия. Чтение значений из файла .csv с биржевыми данными. В настоящее время он правильно отображает все точки, но отображает только несколько значений даты в зависимости от количества нанесенных значений. См. прикрепленное изображение.
Я хотел бы, чтобы он отображал все даты, применимые к значениям на диаграмме. Таким образом, в этом случае даты, которые должны отображаться, следующие:
- 2/25/2015
- 2/24/2015
- 2/23/2015
- 2/20/2015
- 2/19/2015
- 2/18/2015
- 2/17/2015
- 2/13/2015
- 2/12/2015
- 2/11/2015
- 2/10/2015
- 2/9/2015
- 2/6/2015
- 2/5/2015
- 2/4/2015
- 2/3/2015
- 2/2/2015
Показаны только даты 02.02.2015, 09.02.2015, 17.02.2015 и 24.02.2015. Ниже приведен код, относящийся к текущему состоянию диаграммы.
chart1.Series["stock"].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Candlestick;
/*set the maximum y value axis*/
chart1.ChartAreas[0].AxisY.Maximum = System.Convert.ToDouble(maxX);
/*set the minimum y value axis*/
chart1.ChartAreas[0].AxisY.Minimum = System.Convert.ToDouble(minY);
chart1.ChartAreas[0].AxisX.MajorGrid.LineColor = System.Drawing.Color.LightGray;
chart1.ChartAreas[0].AxisY.MajorGrid.LineColor = System.Drawing.Color.LightGray;
chart1.ChartAreas[0].AxisX.MinorGrid.LineColor = System.Drawing.Color.LightGray;
chart1.ChartAreas[0].AxisX.LabelStyle.Angle = 45;
foreach (candleStick stock in chartData)
{
int currentIndex = chart1.Series["stock"].Points.Count;
chart1.Series["stock"].Points.AddXY(stock.date, stock.high);
chart1.Series["stock"].Points[currentIndex].YValues[0] = System.Convert.ToDouble(stock.high);
chart1.Series["stock"].Points[currentIndex].YValues[1] = System.Convert.ToDouble(stock.low);
chart1.Series["stock"].Points[currentIndex].YValues[2] = System.Convert.ToDouble(stock.open);
chart1.Series["stock"].Points[currentIndex].YValues[3] = System.Convert.ToDouble(stock.close);
chart1.Series["stock"].Points[currentIndex].AxisLabel = stock.date;
chart1.Series["stock"].Points[currentIndex].Color = Color.Black;
}
Любая помощь по этому вопросу будет принята с благодарностью. Спасибо!