2013-12-14 2 views
3

Here's a link на предыдущий вопрос ответил, что я думаю, что это очень важно для моего. Мне просто нужно дополнительное разъяснение.Назначение значений цвета в диапазоне, основанных на числовых значениях

Я создаю периодическую таблицу, и то, что я хотел бы сделать, это настроить цветовой градиент, а затем отдельные квадраты имеют цвет в градиенте, основанный на определенном свойстве. Например, если мой цветовой градиент должен был идти от светло-красного до темно-красного (фактические цвета неважны сейчас), и я показываю точки плавления элементов в таблице, мне бы хотелось, чтобы те, у которых нижние bp были светло-красный, а тем, у кого более высокие bp, будут более темными красными; Другими словами, мне нужно сопоставить диапазон bp (от -400 до +1500) до значений цветов в диапазоне градиентов. Я не хочу, чтобы цвета были одинаково распределены ... если два элемента имеют близкие к тем же точкам плавления, я бы хотел, чтобы они были почти одинаковыми. Это взаимно однозначное соответствие.

В рассматриваемом вопросе я понимаю, как создается градиент, но я не понимаю, как получить значения, которые у меня есть для точек плавления, и использовать функцию для генерации, где это значение падает на градиент. Я не понимаю, где это делается или как я связываю свой массив значений с массивом цветов.

В настоящее время я использую the function provided in the link, а затем пытаюсь выполнить вывод и использовать его для генерации цвета фона моего div. Вход, который я использую, тот же, что и «$ Variable» в последней строке.

Благодарим за помощь. Я ценю время.

+0

Просто полезный совет: ''
ПУТЬ осуждается. Для этого используйте CSS. – m59

ответ

0

Давайте установим несколько значений начала и конца, скажем, чистого красного (#FF0000) для высокой температуры плавления и чистого синего (#00FF00) для низкой температуры плавления.

Для простоты предположим, что периодическая таблица имеет только значения температуры плавления от 10 до 500 (я знаю, что это не так, но это не должно быть огромным изменением).

Мы можем сопоставить, где температура плавления вместе, что, делая это:

$mp=440; 
$max=500; 
$min=10; 
$position=($mp-$min)/($max-$min); 
$highColor=hexdec("FF0000"); //converts to decimal for multiplication 
$lowColor=hexdec("00FF00"); 
$newColor=intval($position*($highColor-$lowColor)+$lowColor); 
$newColorStr=dechex($newColor); 
+0

Это выглядит понятным для меня. Спасибо. Кажется, я знаю, что мне нужно делать сейчас. Я ценю помощь. Я думаю, что мне нужно сделать, это поместить это в функцию и вывести значение. – user2752439

+0

Рад помочь – scrblnrd3

+0

Эй, я просто попробовал, и я получаю результаты !!! Мне нужно разобраться в деталях для себя, но еще раз спасибо за толкание в правильном направлении !!! Я должен тебе пиццу !! – user2752439

Смежные вопросы