C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
TChart & TLineSeries
zss
Отправлено: 10.06.2004, 09:45


Ученик-кочегар

Группа: Участник
Сообщений: 4



Доброе утро

Возник вопрос по TLineSeries.
Как для разных точек графика задать определенные цвета. Пробовал ValueColor, но помимо точек меняется цвет линии sad.gif

З.Ы. Как сделать так, чтобы TChart сам задавал различные цвета для разных графиков в TLineSeries

Спасибо
Admin
Отправлено: 10.06.2004, 10:20


Владимир

Группа: Администратор
Сообщений: 1190



CODE

#include <Series.hpp>

void __fastcall TForm1::Button1Click(TObject *Sender)
{
 TColor cl[8] = {clBlue, clRed, clGreen, clPurple, clYellow, clGray, clBlack, clAqua};

for(int nn=0; nn<8; nn++){
    TLineSeries *Ls = new TLineSeries(this);
    Ls->ParentChart = Chart;
    for(int i=0; i < 20; i++) Ls->AddXY(i, i*nn, "", cl[nn]);
          }
}
//---------------------------------------------------------------------------
zss
Отправлено: 10.06.2004, 10:51


Ученик-кочегар

Группа: Участник
Сообщений: 4



Не совсем то, что хотелось smile.gif

1. Для Вашего кода число графиков 8, а если их у меня 100 (я не знаю какое их количество). Хотелось бы чтоб это делал TChart

2. Самая большая проблеммв все-таки с цветами точек для графика
Admin
Отправлено: 10.06.2004, 11:13


Владимир

Группа: Администратор
Сообщений: 1190



QUOTE
Для Вашего кода число графиков 8, а если их у меня 100


Так и генерите этот цвет, допустим если оно больше
определенного числа установленных цветов.

CODE

if(countLineSeries > 8) {
Randomize();
int r = rand() % 255;
int g = rand() % 255;
int b = rand() % 255;
TColor myNewColor = RGB(r,g,b);
....
Ls->AddXY(i, i*nn, "", myNewColor);
}


Отредактировано Admin — 10/06/2004, 12:17
zss
Отправлено: 10.06.2004, 12:10


Ученик-кочегар

Группа: Участник
Сообщений: 4



Спасибо за совет smile.gif

А как быть с цветами точек ?

З.Ы. И еще — как изменить размеры легенды. На сколько я разобрался, они зависят от длинны Title и подгоняются автоматически. А очень нужно изменить ее ширину.

Вернуться в Вопросы программирования в C++Builder