Colors 为项目表着色

Colors 为项目表着色,colors,data-visualization,color-theory,Colors,Data Visualization,Color Theory,我需要向用户显示一个包含短字符串的表格W x H 更新:表格内容是不可变的,我不能移动字符串,更改字符串等 为了简单起见,我们可以这样说: 我使用HTML可视化表格; 字符串是一个单词,通过单词频率随机加权从英语词典中选取; W和H在5到10之间; 在一般情况下,可能会有10-15个不同的词在同一时间; 在最坏的情况下,表中的所有单词都是不同的,最多有100个不同的字符串。 为了帮助可视化,我需要给表格单元格的背景上色。具有相同单词的单元格应具有相同的颜色 问题是,在这种情况下,为字符串指定颜色

我需要向用户显示一个包含短字符串的表格W x H

更新:表格内容是不可变的,我不能移动字符串,更改字符串等

为了简单起见,我们可以这样说:

我使用HTML可视化表格; 字符串是一个单词,通过单词频率随机加权从英语词典中选取; W和H在5到10之间; 在一般情况下,可能会有10-15个不同的词在同一时间; 在最坏的情况下,表中的所有单词都是不同的,最多有100个不同的字符串。 为了帮助可视化,我需要给表格单元格的背景上色。具有相同单词的单元格应具有相同的颜色

问题是,在这种情况下,为字符串指定颜色的好算法是什么

其他要求和说明:

我不想使用100种颜色的硬编码表格,那不好玩。 颜色应该尽可能在视觉上区分,但100种颜色很难做到。 或者-相邻单元格颜色必须尽可能在视觉上区分,当然,只要它们包含不同的单词。但这将使算法复杂化。 我希望每个单元格中的文本都是相同的颜色,比如说,如果可能的话,黑色。同样,100种颜色很难做到这一点。但至少,文本应尽可能可读,并带有任何背景颜色。 理想情况下,为了简单起见,我希望在一次过程中完成所有工作,并在进行时分配颜色-但这会损害可分辨性。我猜是两次传球。 一般来说,性能无关紧要,可读性和算法简单性无关紧要。
根据你提出这个问题的方式,我还假设你表格中的单词位置是不能改变的。我做这个区别只是为了确认你们不能简单地把相同的词移到相邻的单元格中

关于单元格的着色,我认为最直接的解决方案是编写一个基于单元格字符值确定颜色的算法。这是我第一次想到这件事


试图增加相邻单元格之间的差异会使您的工作变得复杂,但也有一些有用的示例。看一看。根据你想花多少时间来处理这个问题,你可以很深入地确定一个彻底的解决方案,因为我认为这将是图论/顶点着色问题的应用,或者是地图着色问题。如果你在谷歌上搜索地图着色问题或算法max color,你应该会很快被各种学术方法淹没。

正确,我不能移动文字,表格数据是不变的。我更新了问题以澄清这一点。我不确定从字符串值确定颜色作为函数是否是一个好主意。。。除非你建议一个好的字符串差异度量,否则这看起来并不比随机挑选颜色好。。。也许我错了。。。另见:一个很好的观点。我认为唯一直接的好处是,由于可以在数组中重复术语,您不需要存储单词/颜色映射的随机确定,因此您的选择是一致的。该算法将保持一致性。对于多达100个字符串,这不是一个很好的优势-