C# ですべての日付値をローソク足チャートにプロットするソリューションを見つける必要があります。始値、高値、安値、終値の値とともに日付を文字列として含む構造体を用意します。株式データを含む .csv ファイルからの値の読み取り。現在、すべてのポイントを正しくプロットしていますが、プロットされた値の量に応じて、いくつかの日付値のみをプロットしています。添付画像を参照してください。
グラフの値に該当するすべての日付を表示したいと思います。したがって、この場合、表示される日付は次のようになります。
- 2015/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 年 2 月 2 日、2015 年 2 月 9 日、2015 年 2 月 17 日、および 2015 年 2 月 24 日の日付のみが表示されています。以下は、チャートの現在の状態に関連するコードです。
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;
}
これに関するヘルプは大歓迎です。ありがとう!