0
我需要向用戶顯示一個W x H的短字符串表。着色項目表
(更新:本表內容不可變的,我不能走動串,改變他們等等)
爲了簡單起見,我們說:
- 我形象化該表使用HTML;
- 一個字符串是一個單詞,由英語詞典中隨機選取的加權(按詞頻)
- W和H的範圍是5到10;
- 平均情況下可能同時有10-15個不同的單詞;
- 在最壞的情況下,表格中的所有單詞都是不同的(即最多100個不同的字符串)。
爲了幫助可視化,我需要着色表格單元格的背景。具有相同單詞的單元應具有相同的顏色。
問題是什麼是在這種情況下爲字符串分配顏色的好算法?
附加要求和注意事項:
- 我不希望使用的100種顏色的硬編碼表,這是不好玩。
- 顏色應儘可能在視覺上區分(但有100種難以達到的顏色)。
- 或者 - 相鄰單元格的顏色必須儘可能在視覺上區分(當然,只要它們包含不同的單詞)。但是這會使算法複雜化。
- 如果可能,我希望每個單元格中的文本都是相同的顏色(比如黑色)。再次,這與100種顏色很難做到。但至少,文本應儘可能具有任何背景顏色的可讀性。
- 理想情況下,爲了簡單起見,我想盡一切努力,並隨時分配顏色 - 但這會損害可區分性。所以,我想兩個通行證。
- 一般來說,性能並不重要,可讀性和算法簡單。
正確,我無法移動文字,表格數據是不可變的。我已經更新了這個問題來澄清這一點。 –
我不確定是否將字符串值中的顏色確定爲函數是一個好主意......除非你會建議一個好的字符串差異度量標準,這看起來並不比隨機選擇顏色更好......也許我雖然錯了,但...另請參見:http://stackoverflow.com/questions/495662/mapping-arbitrary-strings-to-rgb-values –
一個很好的觀點。我認爲唯一的直接好處是可以在數組中重複條件,因此不需要存儲隨機確定的單詞/顏色映射,以便您的選擇一致。該算法會保持一致。 – Carth