public void Grid_coordinates(double lim_x1, double lim_x2, double lim_y1, double lim_y2, double interval)
 {
     double[] arr;
     for (double i = lim_x1; i > lim_x2; i = i - interval)
     {
         arr = new[] { lim_y1, i, lim_y2, i };
         shapes.Draw_polyline(arr, 1, Colors.LightGray, false);
     }
     for (double i = lim_y1; i > lim_y2; i = i - interval)
     {
         arr = new[] { i, lim_x1, i, lim_x2 };
         shapes.Draw_polyline(arr, 1, Colors.LightGray, false);
     }
 }
        public void Draw_main_line(string[] point_list, Color color, bool flag)
        {
            double[] mass;
            var      shapes        = new Main_figures(main_canvas);
            var      const_coord_y = (0.55 + 10 * 0.8 / 21) * main_canvas.Height;
            var      const_coord_x = main_canvas.Width * 0.5 + (8 * main_canvas.Height) / 21;

            for (int i = 0; i < point_list.Length - 1; i = i + 2)
            {
                if (flag)
                {
                    mass = new[] { Convert.ToDouble(point_list[i]), Convert.ToDouble(point_list[i + 1]), Convert.ToDouble(point_list[i]), const_coord_y }
                }
                ;
                else
                {
                    mass = new[] { Convert.ToDouble(point_list[i]), Convert.ToDouble(point_list[i + 1]), const_coord_x, Convert.ToDouble(point_list[i + 1]) }
                };

                shapes.Draw_point(Convert.ToDouble(point_list[i + 1]) - 2.5, Convert.ToDouble(point_list[i]) - 2.5, color);
                shapes.Draw_polyline(mass, 1, color, true);
            }
        }
Example #3
0
        public void Graph_Build(List <Class_point_gr> list, bool flag, Canvas gr)
        {
            double x_graph_map = 0;
            double y_graph_map = 0;
            double interval    = 0;

            var shapes = new Main_figures(gr);

            for (int index = 0; index < list.Count; index++)
            {
                int count = 0;

                var xy = list[index].xy.Split(';');
                //Створюємо масив для роботи з графіком
                var arr = new double[xy.Length - 1];

                for (int i = 0; i < xy.Length - 1; i = i + 2)
                {
                    if (flag)
                    {
                        x_graph_map = 0.7 * gr.Width / 2;
                        y_graph_map = 20;
                    }
                    else
                    {
                        x_graph_map = 10;
                        y_graph_map = 1.1 * gr.Height / 2;
                    }
                    //Наповнюємо масив відповідними координатами для відмалювання графіка
                    arr[count++] = Convert.ToDouble(xy[i]);
                    arr[count++] = Convert.ToDouble(xy[i + 1]);
                }

                Color    color;
                double[] arr_leg;
                interval = interval + 20;

                //Вибір кольорів для графіків
                var gr_table = list[index] as Class_point_gr;
                switch (gr_table.Name)
                {
                case "1": color = Colors.Blue; break;

                case "2": color = Colors.Green; break;

                case "3": color = Colors.Yellow; break;

                case "4": color = Colors.Orange; break;

                case "5": color = Colors.Red; break;

                default: color = Colors.Navy; break;
                }
                arr_leg = new[] { x_graph_map, y_graph_map + interval, x_graph_map + koef * 60, y_graph_map + interval };
                //Відмальвуємо графік
                shapes.Draw_polyline(arr, 2, color, false);

                //Підписуємо легенду графіка
                shapes.Text(x_graph_map + koef * 60 + 10, y_graph_map + interval - 10, _Namegraph(gr_table.Name), Convert.ToInt32(0.25 * (koef * gr.Height) / 10.5));
                //Легенда графіка
                shapes.Draw_polyline(arr_leg, 3, color, false);
            }
        }