Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.10.2015, 20:08   #1
userrrr
Форумчанин
 
Регистрация: 18.10.2014
Сообщений: 119
По умолчанию Строим графики

Прошу помощи в маленькой проге.
Архив с проектом выкладываю.
На форме 8 текстбоксов и кнопка построить график. Надимаем на кнопку и в чарте строится график.
Все работает.
Но надо сделать так:

Чтобы строилось два графика 1 по первым 4 текстбоксам, а второй по следующим 4 текстбоксом - то есть строились две раздельные линии.
Прошу подправить проект, кто может.
Вложения
Тип файла: rar Grafik.rar (46.9 Кб, 19 просмотров)
userrrr вне форума Ответить с цитированием
Старый 06.10.2015, 06:46   #2
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Цитата:
Сообщение от userrrr Посмотреть сообщение
Прошу помощи в маленькой проге.
Архив с проектом выкладываю.
На форме 8 текстбоксов и кнопка построить график. Надимаем на кнопку и в чарте строится график.
Все работает.
Но надо сделать так:

Чтобы строилось два графика 1 по первым 4 текстбоксам, а второй по следующим 4 текстбоксом - то есть строились две раздельные линии.
Прошу подправить проект, кто может.
так добавьте 2 Series. В чем проблема?
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 06.10.2015, 18:14   #3
userrrr
Форумчанин
 
Регистрация: 18.10.2014
Сообщений: 119
По умолчанию

Изменил конструктор фторой формы:
Код:
public GraphViewer(double[] xVal) {
    InitializeComponent();
    double[] x1Val = new double[xVal.Length / 2];
    double[] x2Val = new double[xVal.Length / 2];
    Array.Copy(xVal, 0, x1Val, 0, xVal.Length / 2);
    Array.Copy(xVal, xVal.Length / 2, x2Val, 0, xVal.Length / 2);
    double[] yVal = new double[] { 1000, 3000, 5000, 7000 };
    chart1.Series.Clear();
    Series s1 = new Series("Первый график") { ChartType = SeriesChartType.Point };
    Series s2 = new Series("Второй график") { ChartType = SeriesChartType.Point };
    s1.Points.DataBindXY(x1Val, yVal);
    s2.Points.DataBindXY(x2Val, yVal);
    chart1.Series.Add(s1);
    chart1.Series.Add(s2);
}
userrrr вне форума Ответить с цитированием
Старый 06.10.2015, 18:15   #4
userrrr
Форумчанин
 
Регистрация: 18.10.2014
Сообщений: 119
По умолчанию

И естественно:
using System.Windows.Forms.DataVisualizat ion.Charting;

А как теперь на этом же графике дорисовать две линии, соединяющие сверху и снизу по горизонтали первых две?

Имею ввиду как добавить график то понятно:


Series s3 = new Series("Третий график") { ChartType = SeriesChartType.Point };
и:



s3.Points.DataBindXY();
chart1.Series.Add(s3);
тАК?

Добавлено через 1 минуту
Непонятно как задать нужные координаты:
третий график: по У1= 1000, У2 = 1000; А Х1 и Х2 - это первые точки уже имеющихся графиков.

Последний раз редактировалось Stilet; 08.10.2015 в 09:10.
userrrr вне форума Ответить с цитированием
Старый 08.10.2015, 08:04   #5
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Так чтоли нужно?

Код:
 Series s1 = new Series("Первый график") { ChartType = SeriesChartType.FastLine };
            Series s2 = new Series("Второй график") { ChartType = SeriesChartType.FastLine };
            Series s3 = new Series("Третий график") { ChartType = SeriesChartType.FastLine };

            double[] XValues = new double[] { 1, 3, 5, 7, 9, 11, 13, 15};
            double[] yVal1 = new double[] { 1000, 3000, 5000, 7000, 3000, 3000, 7000, 2000 };
            double[] yVal2 = new double[] { 2000, 2000, 5000, 5000, 2000, 1000, 5000, 6000 };
            double[] yVal3 = new double[] { 3000, 1000, 5000, 9000, 1000, 3000, 4000, 7000 };


            for (int i = 0; i < XValues.Length; i++)
            {

                s1.Points.AddXY(XValues[i], yVal1[i]);
                s2.Points.AddXY(XValues[i], yVal2[i]);
                s3.Points.AddXY(XValues[i], yVal3[i]);

            }

            chart1.Series.Add(s1);
            chart1.Series.Add(s2);
            chart1.Series.Add(s3);
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 08.10.2015, 12:11   #6
userrrr
Форумчанин
 
Регистрация: 18.10.2014
Сообщений: 119
По умолчанию

Не, не так. Надо, чтобы от первой точки первой линии нарисовалась линия до первой точки второй линии. И также сверху. Что бы получилась замкнутая область.
userrrr вне форума Ответить с цитированием
Старый 08.10.2015, 13:12   #7
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Цитата:
Сообщение от userrrr Посмотреть сообщение
Не, не так. Надо, чтобы от первой точки первой линии нарисовалась линия до первой точки второй линии. И также сверху. Что бы получилась замкнутая область.
Че за извращение? Нарисуйте один график и поменяйте цвет точек просто
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 08.10.2015, 21:25   #8
userrrr
Форумчанин
 
Регистрация: 18.10.2014
Сообщений: 119
По умолчанию

Да как блин?
userrrr вне форума Ответить с цитированием
Старый 08.10.2015, 21:40   #9
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Что у вас за задача то такая?? или просто балуетесь? у Points есть свойства толи Style толи Backcolor ... поищите.

А вообще как я написал что не получается то. задавайте точки парами координат и все. будет вам счастье.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 08.10.2015, 21:55   #10
userrrr
Форумчанин
 
Регистрация: 18.10.2014
Сообщений: 119
По умолчанию

Не понимаю как. Задача построить четыре линии. Две уже есть. Теперь их нужно соединить, что бы получилась замкнутая область
userrrr вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Игра "Строим дорогу" на C#. Кто может помочь? dima62 Помощь студентам 3 07.04.2014 19:37
start-up Строим социальную сеть с нуля Мистер Твистер Фриланс 49 08.11.2013 13:44
Строим диаграмму Ky3Heu, Общие вопросы Delphi 0 01.11.2011 14:09
Графики! Медина Помощь студентам 4 28.05.2009 22:58