Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вывод графиков контрастными цветами [D7, XP]


operator ©   (2008-05-07 18:40:00) 

Всем привет! Есть такая задача: - в программе генерируется множество (порядка двух 1000) графиков по точкам и сохраняется в TLineSeries-ы; при этом пользователю не всегда нужно видеть все графики сразу, для этого в программе реализована возможность выбора какие графики нужно печатать - и в зависимости от этого меняется свойство Active у соотв. LineSeries-а. Но что бы различать графики хотелось бы сделать их цветными и возникает вопрос как именно распределить цсвета по графикам. В начальный момент времени не отображается ни одного графика: есть мысль как только новый график становиться Active - ему из списка выделяется наиболее конттрастный к текущим цветам цвет, таким образом с каждым следующим графиком контрастность снижается - при малом количестве графиков они должны получать насыщенные цвета - зеленый красный и тд, а потом когда эти цвета кончаются - начинают выделяться какие-то оттенки.

если подумать о реализации, то например так:
TColorCell = record
  colot:TColot;
  active:boolean;
end;
colors:TList;

так в colors должен был бы быть список цветов, отсортированный по контрастности что ли, а потом при выделении цвета св-во Active переводится в true и в след раз выделяется новый и т.д.

и собственно два вопроса - правильный ли подход у меня к решению такой задчи и если да, то как сформировать список colors?


Anatoly Podgoretsky   (2008-05-08 14:54:00) [1]

> operator  (08.05.2008 09:08:02)  [2]

Очень трудно, не буду говорить категорично, что не возможно, создать 200 контрастных цветов.
Но что такое 200 строк кода, что же тогда говорить об обычных проектах, если 200 тривиальных значений уже трудно.


operator   (2008-05-08 13:39:00) [2]

нет ну пять например цветов подообрать можно)) а на счет универсального алгоритма может кто-то что посоветует?


han_malign   (2008-05-08 09:39:00) [3]


> а сто или 200 например труднее

- как ни выделяй, а все равно хрен чего в этом "маслянном пятне" разберешь...

Может стоит подумать о другом виде представления?
Если эти графики нужны для проверки корреляций, то может подумать о 3D отображении, или, что проще, "температурной" гистограмме(одна ось - номер графика, вторая - исходная абсцисса, значение - температурой(цветом) точки)?
(классическое отображение спектрально-временной карты)


operator   (2008-05-08 09:08:00) [4]

Проблема в том что количество графиков конечно но велико, 16 цветов можно задать вруычную, а сто или 200 например труднее


Игорь Шевченко   (2008-05-07 20:32:00) [5]

если учесть, что количество обозримых графиков конечно, то можно завсети фиксированный набор контрастных друг относительно друга цветов, например, 16 и последовательно выделять из него.


Наверх

Титульная страница Поиск, карта сайта Написать письмо