AxisX の値の取得に問題があります。
新しいポイントフォームを追加しdataTable
ます:
chart1.Series.Add(dataTable.Columns[x].Caption);
chart1.Series[dataTable.Columns[x].Caption].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line;
chart1.Series[dataTable.Columns[x].Caption].BorderWidth = 1;
for (int i = 0; i < dataTable.Rows.Count - 1; i++)
chart1.Series[dataTable.Columns[x].Caption].Points
.AddXY(dataTable.Rows[i][0], dataTable.Rows[i][x]);
そして、mouse_move イベントを使用して値を取得し、ラベルに表示します。
private void chart1_MouseMove(object sender, MouseEventArgs e)
{
Point mousePoint = new Point(e.X, e.Y);
var pos = e.Location;
if (prevPosition.HasValue && pos == prevPosition.Value)
return;
tooltip.RemoveAll();
prevPosition = pos;
var results = chart1.HitTest(pos.X, pos.Y, false,
ChartElementType.DataPoint);
foreach (var result in results)
{
if (result.ChartElementType == ChartElementType.DataPoint)
{
var prop = result.Object as DataPoint;
if (prop != null)
{
tooltip.Show("X=" + DateTime.FromOADate(prop.XValue) + "\n Y=" + prop.YValues[0], this.chart1,
pos.X, pos.Y - 15);
}
}
}
}
prop.XValue
空いているのが不思議です。誰にもアイデアはありますか?