Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.06.01;
Скачать: CL | DM;

Вниз

Вывод графиков контрастными цветами   Найти похожие ветки 

 
operator ©   (2008-05-07 18:40) [0]

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

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

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

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


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

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


 
operator ©   (2008-05-08 09:08) [2]

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


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


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

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

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


 
operator ©   (2008-05-08 13:39) [4]

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


 
Anatoly Podgoretsky ©   (2008-05-08 14:54) [5]

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

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



Страницы: 1 вся ветка

Текущий архив: 2008.06.01;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.018 c
15-1208798690
NaRuTo
2008-04-21 21:24
2008.06.01
Delphi VS C++


15-1208245681
XentaAbsenta
2008-04-15 11:48
2008.06.01
Когда же наконец в Delphi for Win32 появятся дженерики


2-1209908022
Evil
2008-05-04 17:33
2008.06.01
Как перехватить сообщенния(WM_PAINT) определенному контролу


3-1180972060
Цукор5
2007-06-04 19:47
2008.06.01
маленькие буквы в FB1.5


3-1198595059
Vlad Oshin
2007-12-25 18:04
2008.06.01
Подскажите с запросом sql