Элемент управления диаграммой Visual studio перемещается в точку без рисования линии
Я использую элемент управления диаграммой для построения данных. Когда значение x достигнет 360 градусов, я хочу обернуть данные вокруг и снова начать строить график в/около начала оси x графика. Я делаю это, вычитая 360 из значения x, если значение x равно > 360. Теперь это приводит к тому, что линия будет проведена от значения 360 обратно к началу графика, прежде чем построение начнется снова. Я хочу, чтобы эта линия была прозрачной/не нарисованной. Я имитирую построение графика с помощью кнопки - каждое нажатие кнопки отображает следующую точку.
// Plot Data float[,] buf = new float[19, 2]{ {0.0f, 0.0f}, {30, 0.3f}, {30, 0.9f}, {30, 1.9f}, {120, 2.0f}, {150, 2.1f}, {180, 2.2f}, {210, 2.3f}, {240, 2.3f}, {270, 2.3f}, {300, 2.3f}, {330, 2.3f}, {360, 2.3f}, {390, 2.0f}, {420, 1.8f}, {450, 1.5f}, {480, 1.1f}, {510, 0.9f}, {540, 0.7f}, }; public Graph() { InitializeComponent(); chart1.BackColor = Color.Aquamarine; chart1.Series["Series1"].LegendText = "Current"; chart1.Series["Series1"].IsVisibleInLegend = false; chart1.ChartAreas[0].AxisY.Maximum = 2.500; chart1.ChartAreas[0].AxisY.Minimum = 0; chart1.ChartAreas[0].AxisY.Title = "Current mA"; chart1.ChartAreas[0].AxisY.Interval = 0.500; chart1.ChartAreas[0].AxisX.Maximum = 360; chart1.ChartAreas[0].AxisX.Minimum = 0; chart1.ChartAreas[0].AxisX.Interval = 60; chart1.ChartAreas[0].AxisX.Title = "degrees"; chart1.Show(); chart1.Series["Series1"].Points.AddXY(0, 0); } bool revolutionFlag = false; private void button2_Click(object sender, EventArgs e) { if (cnt >= ( buf.Length / 2)) { // End of data array so clear graph and reset data pointer cnt = 0; chart1.Series["Series1"].Points.Clear(); revolutionFlag = false; } else { if (buf[cnt, 0] > 360) { float x = buf[cnt, 0] - 360; if (revolutionFlag == false) { // At 360 degrees - change colour before rewinding revolutionFlag = true; chart1.Series["Series1"].Color = Color.Transparent; } else { // Back to plotting chart1.Series["Series1"].Color = Color.Blue; } chart1.Series["Series1"].Points.AddXY(x, buf[cnt, 1]); } else { chart1.Series["Series1"].Color = Color.Blue; chart1.Series["Series1"].Points.AddXY(buf[cnt, 0], buf[cnt,1]); } cnt++; }
Что я уже пробовал:
Я попытался изменить цвет графика на прозрачный, а затем обратно на синий, надеясь, что это может привести к тому, что линия не будет видна/нарисована - как показано в моем демо-коде. Но это свойство, кажется, применимо ко всем точкам, то есть я просто переключаю цвет. Я искал метод диаграммы, который будет двигаться в положение XY, но ничего не нашел.