получить позицию метки в мс графиках по щелчку мыши - PullRequest
1 голос
/ 01 декабря 2011

Я делаю диаграмму, используя MS Charts.Теперь на диаграмме есть точки отметки, из которых я хочу получить координаты, если пользователь нажимает на точки отметки.

Мне нужна интерактивность на диаграмме, чтобы при нажатии на точки отметки я мог получить извлечения (x-ось и ось y) для точек отметки.

Например, для графика: -

graph

при нажатии на оранжевые точки или синие точки, которые я хочучтобы получить кординаты для этой точки,

, например, первая синяя точка (10/11/2011, 49)

Спасибо

Ответы [ 2 ]

1 голос
/ 23 декабря 2011
<code><pre>void chart_MouseDown(Object sender, System.Windows.Forms.MouseEventArgs e)
{
    HitTestResult result = chart.HitTest(e.X, e.Y);
    switch(result.ChartElementType)
    {
    case case ChartElementType.DataPointLabel:
        DateTime start = DateTime.FromOADate(result.Series.Points[result.PointIndex].XValue);
        ...
        break;
    }
}
0 голосов
/ 05 декабря 2011

Из образцов MS-диаграммы (http://archive.msdn.microsoft.com/mschart), см. Раздел "Функции диаграммы> Интерактивная схема> Выбор точки данных" :

private void chart1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
  // Call Hit Test Method
  HitTestResult result = Chart1.HitTest( e.X, e.Y );

  if( result.ChartElementType == ChartElementType.DataPoint )
  {
    // index of the clicked point in its series
    int index = result.PointIndex;
    // actual values
    Console.WriteLine(result.Series.Points[result.PointIndex].XValue);
    Console.WriteLine(result.Series.Points[result.PointIndex].YValues[0]);                                                              
  }
}
...