着色物品表

时间:2011-10-29 19:01:10

标签: colors data-visualization color-theory

我需要向用户显示一个短字符串表W x H.

(更新:表内容不可变,我无法移动字符串,更改它们等。)

为简单起见,让我们说:

  • 我正在使用HTML可视化表格;
  • 一个字符串是一个单词,由英语字典中的随机加权(按字频率)选取;
  • W和H在5到10的范围内;
  • 在一般情况下,同时可能会有10-15个不同的单词;
  • 并且在最坏的情况下,表中的所有单词都不同(最多100个不同的字符串)。

为了帮助实现可视化,我需要为表格单元格的背景着色。具有相同单词的单元格应具有相同的颜色。

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

其他要求和说明:

  • 我不想使用100种颜色的硬编码表,这不好玩。
  • 颜色应尽可能在视觉上区分(但有100种难以实现的颜色)。
  • 或者 - 相邻的单元格颜色必须尽可能在视觉上区分(当然,只要它们包含不同的单词)。但这会使算法复杂化。
  • 如果可能的话,我希望每个单元格中的文本都是相同的颜色(比方说是黑色)。再次,这很难用100种颜色。但至少,文本应尽可能具有任何背景颜色。
  • 理想情况下,为了简单起见,我想一次性完成所有事情并在旅途中指定颜色 - 但这会损害可区分性。所以,我猜两次通过。
  • 一般来说,性能无关紧要,可读性和算法简单。

1 个答案:

答案 0 :(得分:0)

根据您构建此问题的方式,我还假设您的表格中的单词位置不是您可以更改的内容。我只做出这种区分,以确认你不能做一些简单的事情并将相同的术语移动到相邻的单元格中。

关于着色细胞我认为最直接的解决方案是编写一种算法,根据细胞的字符值确定颜色。感谢Chroma Hash让我首先想到这一点。

尝试增加相邻单元格之间的差异会使您的工作变得复杂,但也有一些有用的示例可用。看看Brian Suda's work。根据您需要花费多少时间来处理这个问题,您可以深入了解一个彻底的解决方案,因为我认为这将是图论/顶点着色问题或地图着色问题的应用。如果谷歌地图着色问题或算法最大颜色,你应该迅速淹没各种学术方法。