Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.70/250: Рейтинг темы: голосов - 250, средняя оценка - 4.70
4 / 4 / 0
Регистрация: 10.10.2009
Сообщений: 301

График в Form

16.10.2009, 20:42. Показов 46119. Ответов 53
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите можно ли строить графики не в отдельном окне Excel допустим в прямо в том же Form? И если не сложно разъясните как =)
1
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.10.2009, 20:42
Ответы с готовыми решениями:

График функции Windows Form
привет!мне необходимо реализоват график функции в Windows Form разработка осуществляется через Visual Studio. наверновначале я ввожу...

Windows Form График Tg(x)
мне график нужен для тангенса.. и я нифига не представляю как его наколдовать..

Построить график функции (Form)
Здравствуйте. Помогите пожалуйста(нет понятия о том как строится график в делфи с использованием свойств и методов) :Подготовить и...

53
4 / 4 / 0
Регистрация: 10.10.2009
Сообщений: 301
05.12.2009, 19:13  [ТС]
Студворк — интернет-сервис помощи студентам
Привет. подскажите вот строю график звездочками куча синих и одна красная но все равно она теряется на фоне синих можно её сделать больше или жирнее ?или как-нить ещё её выделить
0
dmitry3
30.03.2010, 22:53
здравствуйте! сорри, если поднимаю старую тему... решил новую не создавать
помогите пожалуйста. поставил зедграф, нужно чтобы он рисовал график функции. изучил мануалы, и столкнулся с проблемой. они все на С#, а я пишу на С++. постарался написать, как смог. вроде все компилится и запускается, но почему-то ничего не рисуется. и, например, при ресайзе формы не меняются свойства ZedGraphControl'a. может где-то в коде косяк? привожу кусок кода.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
...
 
private: void SetSize()
{
    zedGraphControl1->Location.X = 10;
    zedGraphControl1->Location.Y = 10;
    zedGraphControl1->Size.Width = ClientRectangle.Width - 20;
    zedGraphControl1->Size.Height = ClientRectangle.Height - 20 ;
    zedGraphControl1->AxisChange();
    zedGraphControl1->Refresh();
}
private: void CreateGraph( ZedGraphControl^ zgc )   
{
        GraphPane myPane = zgc->GraphPane;
    myPane.CurveList->Clear();
    myPane.Title->Text = "sss";
    myPane.XAxis->Title->Text = "XXX";
    myPane.YAxis->Title->Text = "YYY";
    PointPairList(list1);
    double x = 1; double y = 1;
    list1.Add(x , y);
    x = 2; y = 2;
    list1.Add(x , y);
    double xs[5];
    double ys[5];
    cli::array<double,1>^ xxx = {1.0 , 2.0 , 3.0};
    cli::array<double,1>^ yyy = {1.0 , 2.0 , 3.0};
    myPane.AddCurve("test grafic", xxx , yyy , System::Drawing::Color::Red, ZedGraph::SymbolType::Diamond);
    zgc->AxisChange();
    zgc->Refresh();
}
 
private: System::Void Form1_Load(System::Object^  sender, System::EventArgs^  e) 
{
    this->Controls->Add( zedGraphControl1 );
    CreateGraph( zedGraphControl1 );
    SetSize();
}
    
private: System::Void Form1_Resize(System::Object^  sender, System::EventArgs^  e) 
{
    SetSize();
}
 
...
заранее спасибо за помощь!
4 / 4 / 0
Регистрация: 10.10.2009
Сообщений: 301
08.04.2010, 20:15  [ТС]
Добрый вечер. Такой вопрос. Пытаюсь построить несколько графиков. Значения меняются циклом. Все вроде хорошо. но у всех графиков кроме первого конечная точка соединена с начальной ! Когда строю каждый по одному все нормально а если строю допустим 3 сразу то второй и третий соединены с начальными точками. Вот код: если надо могу скрин выложить
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
private void CreateGraph(ZedGraphControl zgc)
        {
            double kolichestvo_proizvodctvo = 0;
            double kolichestvo_rasxod=0;
            double kolichestvo_deficit=0;
            GraphPane pane = zgc.GraphPane;
            pane.CurveList.Clear();
            pane.Title.Text = "График расходования";
            pane.XAxis.Title.Text = "Время(дни)";
            pane.YAxis.Title.Text = "Количество";
            PointPairList list = new PointPairList();
 
            for (int j=1; j<=kolichestvo_naimenovanij;j++)
            {
            for (int i = 0; i <= Math.Round((vremy_proizvodstva[j]*24),0); i++)
            {
                kolichestvo_proizvodctvo = ((proizvoditelnost[j] - prognoznij_spros[j])*i/24);
                list.Add(i, kolichestvo_proizvodctvo);
            }
                
            for (double i = Math.Round((vremy_proizvodstva[j] * 24), 0); i <= Math.Round((vremy_proizvodstva[j] * 24), 0) + Math.Round((vremy_rasxoda[j] * 24), 0); i++)
            {
                kolichestvo_rasxod = Math.Round((vremy_proizvodstva[j] * 24), 0) * (proizvoditelnost[j]/24 - prognoznij_spros[j]/24) - (prognoznij_spros[j]/24 * (i-Math.Round((vremy_proizvodstva[j] * 24), 0)+1));
                list.Add(i, kolichestvo_rasxod);
            }
            for(double i =Math.Round((vremy_proizvodstva[j] * 24), 0) + Math.Round((vremy_rasxoda[j] * 24), 0); i<=Math.Round((vremy_proizvodstva[j] * 24), 0) + Math.Round((vremy_rasxoda[j] * 24), 0)+ Math.Round((vremy_deficita[j]*24),0);i++)
            {
                kolichestvo_deficit = Math.Round((vremy_proizvodstva[j] * 24), 0) * ((proizvoditelnost[j]/24) - (prognoznij_spros[j]/24))-((prognoznij_spros[j]/24) * Math.Round((vremy_rasxoda[j] * 24), 0)) - ((prognoznij_spros[j]/24) * (i- (Math.Round((vremy_proizvodstva[j] * 24), 0) + Math.Round((vremy_rasxoda[j] * 24), 0))+1));
                list.Add(i, kolichestvo_deficit);
            }
                  
            }
 
            LineItem myCurve = pane.AddCurve("Sinc", list, Color.Blue, SymbolType.None);
            zgc.AxisChange();
            zgc.Refresh();
            zgc.Invalidate();
        }
0
1923 / 428 / 41
Регистрация: 12.07.2007
Сообщений: 2,062
09.04.2010, 04:00
piloterist, соединяются потому, что вы рисуете одну линию. Все циклы складывают свои точки в один список. И по этому списку строится одна линия. Сделайте три списка и рисуйте три линии
0
4 / 4 / 0
Регистрация: 10.10.2009
Сообщений: 301
09.04.2010, 08:03  [ТС]
Спасибо. Но проблема в том что я заранее не знаю сколько их будет надо делать универсально не подскажите как это можно реализовать ?

Добавлено через 33 минуты
Эту проблему исправил спасибо. Просто занес построения в первый цикл. А не подскажите есть ли какая нибудь возможность зациклить изменение цвета при построении графика ?
0
 Аватар для wwowa
308 / 261 / 70
Регистрация: 01.12.2008
Сообщений: 1,031
09.04.2010, 08:17
Цитата Сообщение от piloterist Посмотреть сообщение
какая нибудь возможность зациклить изменение цвета при построении графика ?
То есть выбирать при построении разный цвет?
Тогда либо создать массив цветов Color[] color ; и оттуда забирать
либо есть функции преобразования цвета в число и обратно
C#
1
2
int colorInt = Color.Red.ToArgb();
Color newColor = Color.FromArgb(colorInt)  ;
И как нибудь привязать переменную цикла к цвету
0
4 / 4 / 0
Регистрация: 10.10.2009
Сообщений: 301
10.04.2010, 20:33  [ТС]
Чего-то с цветом никак не получается ничего. Есть вот такая конструкцияю. Она зациклена :
C#
1
2
3
4
                        LineItem myCurve = pane.AddCurve("", list, Color.Blue, SymbolType.None);
                        zgc.AxisChange();
                        zgc.Refresh();
                        zgc.Invalidate();
И как здесь сделать чтобы каждый цикл менялся цвет? Желательно конечно чтобы кол-во цветов было большим, т.к. количество циклов заранее не известно, но хотя бы для начала несколько чтобы было. Как сделать можно?
0
 Аватар для kirill29
2098 / 1263 / 173
Регистрация: 01.02.2009
Сообщений: 2,842
10.04.2010, 20:48
Прочитай пост выше. Там уже есть ответ. Или создаешь массив цветов, или преобразуешь число в цвет.
C#
1
2
Color[] color={Color.Red, Color.Blue, Color.Green};
LineItem myCurve = pane.AddCurve("", list, color[i], SymbolType.None);
0
4 / 4 / 0
Регистрация: 10.10.2009
Сообщений: 301
12.04.2010, 21:31  [ТС]
Цитата Сообщение от kirill29 Посмотреть сообщение
Прочитай пост выше. Там уже есть ответ. Или создаешь массив цветов, или преобразуешь число в цвет.
C#
1
2
Color[] color={Color.Red, Color.Blue, Color.Green};
LineItem myCurve = pane.AddCurve("", list, color[i], SymbolType.None);
Спасибо. А как в число преобразовывать не понял.
0
4 / 4 / 0
Регистрация: 10.10.2009
Сообщений: 301
31.05.2010, 17:50  [ТС]
Добрый веер. А не подскажите возможно ли и если да, то как числа на оси абсцисс расположить не в порядке возрастания 0,1,2,3---30 а в порядке убывания 30,29,28---0. А по оси ординат оставить все по человечески?
0
МИР ВАШЕМУ ДОМУ!!!
57 / 58 / 7
Регистрация: 01.04.2009
Сообщений: 890
Записей в блоге: 1
23.06.2010, 14:14
ЗендГраф это dll на корорые просто делаешь ссылку в своем проекте. Или контрол который находится на толбоксе и с него кидаешь компоненты на форму и работаешь?
А, все понял.
Спасибо за созданую тему и ответы друзья!!!.

Добавлено через 2 часа 18 минут
Цитата Сообщение от kirill29 Посмотреть сообщение
Если будет нужно, то позже могут выложить весь проект
Выложи пож-та.
0
 Аватар для kirill29
2098 / 1263 / 173
Регистрация: 01.02.2009
Сообщений: 2,842
27.06.2010, 01:07
Проект находится в этой теме (#5 пост): Построение параболы
2
 Аватар для vialet
57 / 57 / 11
Регистрация: 04.03.2010
Сообщений: 244
09.10.2011, 17:45
Цитата Сообщение от piloterist Посмотреть сообщение
ничего не создает и в нем ничего не строится, хотя ошибок не выдает никаких
вам удалось решить данную проблему, чтобы построение осуществлялось?
1
4 / 4 / 0
Регистрация: 10.10.2009
Сообщений: 301
09.10.2011, 19:45  [ТС]
Угу, пару лет тому назад=)
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.10.2011, 19:45

Создать график квадратного уравнения в windows form
Помогите создать график квадратного уравнения в windows form. Очень срочно

Математический маятник С++ Windows Form (нарисовать график в панели)
Помогите! Очень срочно и очень нужно нарисовать график из чарта2 в новую панель! Вот код программы, он работает, но как сделать этот...

Form.Hide ; Form.Close ; Form.Show
Здравствуйте. Вот интересует один вопрос, в чём различие между Form1.Close; Form2.Show и Form2.Show; Form1.Close? Т.е. в 1 случае сперва...

External exception C000001D между Form.OnCreate и Form.OnShow
Поставил Delphi 10.3 Rio, так как в нём, вроде бы, наконец исправили очень важный для меня момент - Z-Order для нативных контролов. ...

Расскажите о пробеле. <% public ts ts = 'нет данных' %> <form> <input .... value =<%=ts%>> </form>
Присваиваю тексту значнение &lt;input .... value ='нет данных'&gt; всё хорошо. Усложняю задачу &lt;% public ts ts = 'нет данных' ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
54
Ответ Создать тему
Новые блоги и статьи
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности. Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru