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 ColorRule
inValue
- 0 <= float value >= 1.0public int compareTo(Object inObj2)
compareTo
in interface Comparable