public class NonlinearColorScale extends Object implements ColorRule, Comparable
OrderedMap<Float, Color> colorMap = new OrderedMap<>(3);
colorMap.put(20f,Color.GREEN);
colorMap.put(80f,Color.YELLOW);
colorMap.put(200f,Color.RED);
NonlinearColorScale colorScale =new NonlinearColorScale(colorMap);
center.br(4);
center.addSpan("Non-linear Color Scale Created from Green (20), Yellow (80), & Red (200)");
Table table = center.addTable();
Tr row = table.addRow();
for (int i = 20; i <=200; i+=20)
{
HTMLColor scaleColor = new HTMLColor(colorScale.assignColorForValue(i));
row.addCell(String.format("%d", i))
.setStyle(CSS.color(scaleColor.getContrastingColor()) + CSS.bgColor(scaleColor));
}
| 20 | 40 | 60 | 80 | 100 | 120 | 140 | 160 | 180 | 200 |
| Modifier and Type | Field and Description |
|---|---|
static XMLName |
XML_NONLINEAR_COLOR_SCALE |
| Constructor and Description |
|---|
NonlinearColorScale(OrderedMap<Float,Color> inMap) |
NonlinearColorScale(XMLTag inXMLTag) |
| Modifier and Type | Method and Description |
|---|---|
Color |
assignColorForValue(float inValue)
Determines the color that should be assigned to the specified value that
has been normalized to the range of 0 to 1.
|
int |
compareTo(Object inObj2) |
List<Color> |
getColors() |
List<Float> |
getThresholds() |
int |
size() |
XMLTag |
toXMLTag() |
public static final XMLName XML_NONLINEAR_COLOR_SCALE
public NonlinearColorScale(OrderedMap<Float,Color> inMap)
public NonlinearColorScale(XMLTag inXMLTag)
public List<Float> getThresholds()
public int size()
public Color assignColorForValue(float inValue)
assignColorForValue in interface ColorRuleinValue - 0 <= float value >= 1.0public int compareTo(Object inObj2)
compareTo in interface Comparable
jataylor@hairyfatguy.com