Получаване на стойността x на точка в mschart

Имам полярна диаграма като тази въведете описание на изображението туки когато щракна върху точка в диаграмата, имам нужда за показване на x стойност на тази точка. Опитах ;

  private void chart1_MouseClick(object sender, MouseEventArgs e)
    {
        double x=0; double y=0;
        var pos = e.Location;
        Point? clickPos = pos;

        var results = chart1.HitTest(pos.X, pos.Y, false, ChartElementType.PlottingArea);
            foreach(var result in results) {

                if(result.ChartElementType==ChartElementType.PlottingArea) {
                    x = result.ChartArea.AxisX.PixelPositionToValue(pos.X); ;
                    y=result.ChartArea.AxisY.PixelPositionToValue(pos.Y);

                }

                textBox1.Text=x.ToString();
                textBox2.Text=y.ToString();
            }


    }

Но този код ми дава странни координати. Например, когато щракнах върху точката (0,0) в диаграмата, азимутът е 179, печалбата е 5,00123. Някой да помогне?


person jack sparrow    schedule 13.08.2014    source източник
comment
Всъщност открих начина за получаване на стойностите на точка от данни. Но сега, как мога да получа стойностите на точката - не на точката от данни, само някъде в диаграмата, между оста - над която мишката е?   -  person jack sparrow    schedule 14.08.2014


Отговори (1)


Този код може да помогне:

private void chart_MouseDown(object sender, MouseEventArgs e)
{
    HitTestResult result = chart.HitTest(e.X, e.Y);
    if (result.ChartElementType == ChartElementType.DataPoint)
    {
        var selectedValue = chart.Series[0].Points[result.PointIndex].YValues[0];
        MessageBox.Show(selectedValue.ToString());
    }

}
person Masoud    schedule 29.09.2014