动态地对数字进行颜色编码
Color-coding numbers dynamically
我有一系列元素,每个元素都有自己的ID。ID从1…n开始运行。我希望所有共享ID的元素都以相同的颜色显示。
我知道我可以为每个数字定义一个颜色数组,但这是静态的,我真的不知道我会有多少个数字。
到目前为止,我已经这样做了:
private object getIntColorString(int IDNum)
{
return IDNum.ToString("X6");
}
但我没有想清楚,因为颜色之间的差异太小了。所以我做了这个:
private object getIntColorString(int eventTrainingProgramID)
{
int colorCode = eventTrainingProgramID * 100;
return colorCode.ToString("X6");
}
然而,这会产生许多相同颜色的重复出现。
有什么建议吗?
好的,颜色可以从000000
(黑色)到ffffff
(白色),所以16777215个不同的值。让我们假设您需要映射范围[021747483647](0到int.MAX)中的int颜色范围[016777215]。
第一个问题:如果一次有16777217个或多个元素,某些颜色将被重复。如果你有16777216个或更少的元素,你可以为每个ID映射不同的颜色。
如果你事先知道元素的数量(例如#ID
=100),你可以这样开始:
col0
(如果是ID0
则为彩色)可以是(16777215/#ID
)*0col1
(ID1
的颜色)可以是(16777215/#ID
)*1col2
(ID2
的颜色)可以是(16777215/#ID
)*2
以保证相邻颜色之间的最大可能差异。
如果你事先不知道元素的数量,你可以将colorJump
定义为使两种颜色与你的眼睛不同的最小增量。这样
col0
(如果ID0
则为彩色)可以为0col1
(ID1
的颜色)可以是col0
+colorJump
col2
(ID2
的颜色)可以是col1
+colorJump
依此类推
相关文章:
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 高亮显示时编辑文本大小和颜色
- 用与线条相同的颜色填充多折线图上的点
- 更改使用Chart.js创建的图表中的轴线颜色
- 如何使用jquery更改html中的背景颜色
- 动态更改高图中的系列颜色
- 将地理编码结果转换为php变量以发布到mysql数据库
- jsf中两个字符串的颜色代码差异
- 我们如何使用css或JavaScript在i/j上更改句点(点)的颜色
- d3.hexbin插件-动态定义颜色域以适应数据
- 我如何制作一个JS函数,它可以从相似的原始颜色双向更改为某个颜色
- 每个选择器的Jquery css颜色都在变化,但字体大小却没有变化
- Javascript对象类在单击时打开窗口进行颜色选择,并在更改时替换对象背景颜色
- jQuery动画-边框宽度和颜色
- 如何根据描述对完整日历事件进行颜色编码
- 对文本区域中的某些正则表达式匹配进行颜色编码
- 集合百分比由故事计数和计划估计颜色编码算法完成
- 动态地对数字进行颜色编码
- 使用CSS或javascript在Html中编码颜色
- bing贴图多边形中的硬编码颜色