Tin*_*Sky 4 java algorithm colors
我需要可视化一个数字列表,这个列表每x分钟生成一次.我目前在侧面使用带有数字的单行.这可以正常工作,但在进行实时分析时,它会变得很难看.
在想了一下之后,我想出了对数字进行颜色编码的想法,一个大的负数是红色的,一个大的正数是绿色的,一个正常的正数是浅绿色,略大于绿色和浅绿色之间的正常数字.
为了说明它,我做了一个图像:

对我的问题.例如,我们有:
50: Color.green
0: Color.white
-50: Color.red
Run Code Online (Sandbox Code Playgroud)
如何计算代表25的颜色?
对于严格的线性表示red <--> white <--> green,
import java.awt.Color;
/* Define the MAXIMUM saturation of RED and GREEN shades
* Range (0-255)
*/
final int RED_MAX = 255;
final int GREEN_MAX = 255;
/* input val varies from -MAX to MAX */
/* output valColor varies from
* -MAX = red
* ^
* |
* v
* 0 = white
* ^
* |
* v
* MAX = green
*/
/* Normalised normVal varies from -255 to 255 */
normVal = (val*255)/MAX
if(val < 0) {
/* Make it red-ish */
valColor = new Color( RED_MAX,
255 + normVal,
255 + normVal );
} else if (val > 0) {
/* Make it green-ish */
valColor = new Color( 255 - normVal),
GREEN_MAX,
255 - normVal );
} else {
/* Absolute White */
valColor = new Color( 255, 255, 255 );
}
Run Code Online (Sandbox Code Playgroud)