Полярная диаграмма, ось x, ось y (0,0) размещение в С# winforms VS2010

У меня есть полярная диаграмма, которую я создал с помощью управления диаграммой в своем приложении WinForms. Тип оси X — расстояние, тип оси Y — азимут.

Моя проблема в том, что я не могу установить начальные точки X, Y, т.е. (0,0) в центре, они всегда появляются в другом месте. Как показано на рисунке 1 введите здесь описание изображения

Как вы видите на приведенных выше рисунках, значение азимута равно нулю при 270 и 360 при 90, а расстояние равно 0 при 180 и 100 при 0. Вот код, который я использовал для создания полярной диаграммы.

public PolarChart()
    {
        this.WindowState = FormWindowState.Maximized;
        InitializeComponent();

        Series s0 = new Series("PolarChart");
        s0.Color = Color.Gray;
        s0.ChartType = SeriesChartType.Polar;
        s0.Points.AddXY(0, 0);
        chart1.Series.Add(s0);
        chart1.Series[0]["PolarDrawingStyle"] = "line";
        chart1.ChartAreas[0].AxisX.Minimum = 0;
        chart1.ChartAreas[0].AxisX.Maximum = 360;
        chart1.ChartAreas[0].AxisX.Interval = 30;
        chart1.ChartAreas[0].AxisY.Minimum = 0;
        chart1.ChartAreas[0].AxisY.Maximum = 100;
        chart1.ChartAreas[0].AxisY.Interval = 10;            
    }

 private void btnDisplay_Click(object sender, EventArgs e)
    {

        TextFieldParser reader = new TextFieldParser("LFPoints.txt");
        reader.Delimiters = new string[] { "," };
        reader.HasFieldsEnclosedInQuotes = true;
        string[] read = reader.ReadFields();
        try
        {

            Series S2 = new Series("Plot");
            S2.ChartType = SeriesChartType.Polar;
            S2.BorderColor = Color.Red;
            if (read != null)

                if (read.Length != 0)
                {
                    foreach (string other in read)
                    {
                        ComputeDistanceAngle(other, Base);
                        S2.Points.AddXY(Azimuth, Distance);
                    }
                    chart1.Series.Add(S2);
                    chart1.Series["LFPlot"]["PolarDrawingStyle"] = "marker";
                }
                else
                {
                    MessageBox.Show("No Graph to Plot");
                }
            else
                MessageBox.Show("No Graph to Plot");
        }
        catch (Exception)
        {

        }
    }

private void chart1_MouseMove(object sender, MouseEventArgs e)
    {
        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.PlottingArea);
        foreach (var result in results)
        {
            if (result.ChartElementType == ChartElementType.PlottingArea)
            {
                var xVal = result.ChartArea.AxisX.PixelPositionToValue(pos.X);
                var yVal = result.ChartArea.AxisY.PixelPositionToValue(pos.Y);

                tooltip.Show("Azimuth = " + xVal + "\n"+" Distance = " + yVal, this.chart1,
                             pos.X, pos.Y - 15);
            }
        }
    }

После того, как я много перепробовал, я узнал о свойстве «Перекресток».

chart1.ChartAreas[0].AxisX.Crossing = 90;
chart1.ChartAreas[0].AxisY.Crossing = 0;

Но я не получил то, что мне нужно. Поэтому, пожалуйста, помогите мне нанести точки на полярной диаграмме с точками X и Y, начиная с центра. Вот ссылка, которая именно так мне нужна моя полярная диаграмма. введите здесь описание ссылки

Я использую Visual Studio 2010.


person Gopi    schedule 24.05.2015    source источник
comment
Похоже, вы пытаетесь взаимодействовать, используя координаты мыши. Это чрезвычайно сложно. Что именно ты пытаешься сделать? Для считывания и отображения значений вы должны вместо этого установить всплывающие подсказки точек данных. Или вы имеете в виду, что график как-то не так выглядит?   -  person TaW    schedule 24.05.2015
comment
@TaW Координаты графика неверны. Если я просто хочу построить 60 градусов на расстоянии 100, вместо размещения в этой точке он размещается где-то еще. Просто помоги мне с этим.   -  person Gopi    schedule 24.05.2015
comment
Я не вижу ваших данных. Вам нужно игнорировать то, что вы пытаетесь сделать с помощью мыши, хорошо? действительно ли ваши series.points содержат точку 0,0?   -  person TaW    schedule 24.05.2015
comment
Если бы я просто хотел нарисовать 60 градусов на расстоянии 100 Hm, я бы ожидал, что вы захотите построить, куда указывают данные?   -  person TaW    schedule 24.05.2015
comment
@TaW Я думаю, что есть проблема с отображением точек данных с помощью мыши. Он показывает разные значения, кроме графика. Можете ли вы помочь мне исправить это. Я узнал, что мне нужно изменить код в chart1_MouseMove.   -  person Gopi    schedule 24.05.2015
comment
Выбросьте код мыши! Вы не можете получить это правильно, как вы пытаетесь. Добавьте всплывающую подсказку к своим точкам данных! И посмотрите на данные!   -  person TaW    schedule 24.05.2015
comment
Если вам интересно, почему ваш код мыши не работает, посмотрите это сообщение. Но не используйте код! Это было только для рисования на графике. Если все, что вам нужно, это отображать значение данных, добавьте всплывающие подсказки к точкам данных! См. здесь пример!   -  person TaW    schedule 24.05.2015
comment
@TaW Здесь я использую значения XY, но не DataPoint. Итак, как я могу добавить всплывающую подсказку? Какие-либо предложения..   -  person Gopi    schedule 24.05.2015