Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/15: Рейтинг темы: голосов - 15, средняя оценка - 4.73
Программист по неволе
 Аватар для Alex_From_777
24 / 24 / 8
Регистрация: 22.04.2015
Сообщений: 476
Записей в блоге: 1

Построить два графика в TChart

13.05.2015, 12:23. Показов 3259. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Создал series1 и series2. Сначала построил series1, а series2 надо построить следом. Но вот проблема. График строится таким образом, буд-то является продолжением первого.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.05.2015, 12:23
Ответы с готовыми решениями:

Два графика в разных масштабах на одном TChart
Возникла необходимость разместить два графика на одном TChart, причем первый имеет Y в районе 1е6, а второй в районе 1е-1. Масштабирование...

Построить два графика
Доброе времени суток. Помогите вбить в MathCAD формулу и еще чтобы она строила два графика - по времени t и по оси z

Построить два графика
Помогите. Не могу построить эти два графика. Спасибо.

14
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33403 / 21513 / 8236
Регистрация: 22.10.2011
Сообщений: 36,914
Записей в блоге: 12
13.05.2015, 12:24
Как строишь графики? Особенно интересно, что является данными по оси OX
1
Программист по неволе
 Аватар для Alex_From_777
24 / 24 / 8
Регистрация: 22.04.2015
Сообщений: 476
Записей в блоге: 1
13.05.2015, 12:27  [ТС]
C++
1
2
3
4
5
6
for (int i=0; i<30; i++)
{
  x=StrToFloat(StringGrid2->Cells[0][i]);
  y=StrToFloat(StringGrid2->Cells[2][i]);
  Series1->Add(y,x,clRed);
}
а потом так же
C++
1
2
3
4
5
6
for (int i=0; i<30; i++)
{
  x=StrToFloat(StringGrid2->Cells[0][i]);
  y=StrToFloat(StringGrid2->Cells[1][i]);
  Series2->Add(y,x,clBlue);
}
0
Программист по неволе
 Аватар для Alex_From_777
24 / 24 / 8
Регистрация: 22.04.2015
Сообщений: 476
Записей в блоге: 1
13.05.2015, 12:36  [ТС]


Получается вот что.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33403 / 21513 / 8236
Регистрация: 22.10.2011
Сообщений: 36,914
Записей в блоге: 12
13.05.2015, 12:37
Для начала - что у тебя в StringGrid-е, и какого типа переменные x, y. Что за привычка, дать кусок кода, по которому НИЧЕГО не понятно. Хоть описания типов-то нужно приводить?

И почему это в Add передается и x и y, хотя должно передаваться только одно значение, а потом метка и цвет? Это ведь обе TLineSeries?
1
Программист по неволе
 Аватар для Alex_From_777
24 / 24 / 8
Регистрация: 22.04.2015
Сообщений: 476
Записей в блоге: 1
13.05.2015, 13:05  [ТС]
Потому что если я покажу весь код, то его никто читать не будет. Спросили как строишь графики, я показал как их строю.
double x, y;

Добавлено через 20 минут
Вот тут так написано:
http://www.compdoc.ru/prog/builder/tchart-series/
0
 Аватар для demon_7
260 / 192 / 60
Регистрация: 12.05.2013
Сообщений: 857
13.05.2015, 13:07
Alex_From_777, в StringGride что у Вас?
Скриншот рабочей формы если можно и полный код блока где идет построение графиков
1
Программист по неволе
 Аватар для Alex_From_777
24 / 24 / 8
Регистрация: 22.04.2015
Сообщений: 476
Записей в блоге: 1
13.05.2015, 13:18  [ТС]
Цитата Сообщение от demon_7 Посмотреть сообщение
в StringGride что у Вас?
А чуть конкретнй можно? Не совсем понятно, что вы имеете в виду.

А по поводу полного кода блока, да он полный. Вот что я вверху написал так и есть.


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
void __fastcall TForm1::Button1Click(TObject *Sender)
{
for (int i=0; i<30; i++)
{
  x=StrToFloat(StringGrid2->Cells[0][i]);
  y=StrToFloat(StringGrid2->Cells[2][i]);
  Series1->Add(y,x,clRed);
}
}
 
void __fastcall TForm1::Button2Click(TObject *Sender)
{
for (int i=0; i<30; i++)
{
  x=StrToFloat(StringGrid2->Cells[0][i]);
  y=StrToFloat(StringGrid2->Cells[1][i]);
  Series2->Add(y,x,clBlue);
}
}
0
 Аватар для demon_7
260 / 192 / 60
Регистрация: 12.05.2013
Сообщений: 857
13.05.2015, 13:25
Alex_From_777, ну как минимум переменная x у Вас одинакова для обоих графиков
C++
1
 x=StrToFloat(StringGrid2->Cells[0][i]);
если так и задумано, проверяйте данные переменной y.
1
Программист по неволе
 Аватар для Alex_From_777
24 / 24 / 8
Регистрация: 22.04.2015
Сообщений: 476
Записей в блоге: 1
13.05.2015, 13:29  [ТС]
Да x одинаковая.
А что по н проверять я не знаю.
Как видно, по скриншоту, построение второго графика начинается с места окончания первого, а не от точки с координатой (100, y2). По оси x возникают заново точки с координатами 100, 200...
0
 Аватар для demon_7
260 / 192 / 60
Регистрация: 12.05.2013
Сообщений: 857
13.05.2015, 13:45
Лучший ответ Сообщение было отмечено Alex_From_777 как решение

Решение

не знаю, у меня все нормально
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
void __fastcall TForm1::FormCreate(TObject *Sender)
{
for (int i=0; i<StringGrid1->RowCount; i++)
{
StringGrid1->Cells[0][i]=rand()%25;
}
for (int i=0; i<StringGrid1->RowCount; i++)
{
StringGrid1->Cells[1][i]=rand()%480;
}
for (int i=0; i<StringGrid1->RowCount; i++)
{
StringGrid1->Cells[2][i]=rand()%480;
}
}
//---------------------------------------------------------------------------
 
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
for (int i=0; i<StringGrid1->RowCount; i++)
{
x=StrToFloat(StringGrid1->Cells[0][i]);
y=StrToFloat(StringGrid1->Cells[2][i]);
Series1->Add(y,x,clRed);
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
for (int i=0; i<StringGrid1->RowCount; i++)
{
x=StrToFloat(StringGrid1->Cells[0][i]);
y=StrToFloat(StringGrid1->Cells[1][i]);
Series2->Add(y,x,clBlue);
}
}
//---------------------------------------------------------------------------
Миниатюры
Построить два графика в TChart  
1
 Аватар для demon_7
260 / 192 / 60
Регистрация: 12.05.2013
Сообщений: 857
13.05.2015, 13:49
Вот пример с нормальными координатами по оси X
Миниатюры
Построить два графика в TChart  
0
Программист по неволе
 Аватар для Alex_From_777
24 / 24 / 8
Регистрация: 22.04.2015
Сообщений: 476
Записей в блоге: 1
13.05.2015, 13:53  [ТС]
А что-нибудь в свойствах TChart вы меняли, что не по умолчанию стоит?
0
 Аватар для demon_7
260 / 192 / 60
Регистрация: 12.05.2013
Сообщений: 857
13.05.2015, 13:56
ничего не менял
1
Программист по неволе
 Аватар для Alex_From_777
24 / 24 / 8
Регистрация: 22.04.2015
Сообщений: 476
Записей в блоге: 1
15.05.2015, 09:55  [ТС]
Лучший ответ Сообщение было отмечено Taatshi как решение

Решение

Всё. я Нашёл свой косяк!!!
Но признаваться не буду. Ибо негативных отзывов.
Всё модератор, можно закрывать тему. Выбирай ответ demon 7 лучшим.
А ладно, сам выберу.

Добавлено через 21 час 6 минут
Ой, ну да ладно. Сразу минус поставили.
Просто у меня в обоих случаях стояло Series1->... (Ну это в моём стиле))))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.05.2015, 09:55
Помогаю со студенческими работами здесь

Построить два графика по координатам
Добрый вечер, помогите пожалуйста построить два графика по координатам: 1)2x*lgx-3x*lgx 2)ctg x Таблица с данными во вложении!

Построить два графика зависимости
Очень нужна ваша помощь

Нужно построить и исследовать два графика
Нужно построить и исследовать два графика. Помогите, пожалуйста.

Построить в одном окне два графика
Добрый день! Требуется построить два графика в одном окне на языке C# по точкам таблицы в виде отрезков прямой: YH= F(X) и...

Как построить два графика в одной плоскости
очень необходимо объединить, кто подскажет?


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru