代码之家  ›  专栏  ›  技术社区  ›  Wai Yip Tung

如何自动选择n种不同的颜色绘制n个不同的对象?

  •  6
  • Wai Yip Tung  · 技术社区  · 14 年前

    我需要在图表上画n个不同的对象。我想为每一个选择一种不同的颜色,使它们能够区分。物体会被移动,所以我不能指望像“四色定理”这样的想法来给不相邻的物体分配相同的颜色。到目前为止,我的问题需要多达20个不同的项目。

    有没有一个很好的方法来挑选n种不同的颜色,使它们尽可能地彼此区别开来?

    3 回复  |  直到 14 年前
        1
  •  2
  •   Wai Yip Tung    14 年前

    首先,我已经改变了设计,所以使用20种不同的颜色并不重要。默认的10种颜色的调色板显示得很好。

    其次,我找到了自己问题的答案。我想做的就是 分类编码色标

    分类编码和顺序编码的色标生成算法-布雷斯洛-2009-颜色研究与应用-威利在线图书馆 http://onlinelibrary.wiley.com/doi/10.1002/col.20559/full

        2
  •  1
  •   chris_sutter    14 年前

    我认为颜色区分是一个非常主观的问题,你最好找一个现有的调色板,然后从那里开始工作。n值越高,用户就越有可能无法区分两种自动生成的颜色,尽管根据某些颜色理论标准,它们是非常不同的。

    别忘了确保你不会把颜色作为物体之间的唯一区别,或者:

    • 你会收到很多色盲的仇恨邮件
    • 你冒着人们误认为颜色相似的物体有某种隐含的分组的风险
        3
  •  1
  •   Jay Askren    14 年前

    你真的需要用20种不同的颜色吗?如果你还想让人们分辨出来的话,那是很多颜色。同时也要意识到色盲的人会看不到你的图表。 10% of males are color blind . 如果你能把你的物品进一步分成两到五组,那就更好了。然后你可以用不同的形状和颜色来区分物体。例如,您可能有四种不同颜色的十字架、圆、三角形、星星和正方形,如下所示: alt text

    color brewer . 不过,请注意,它不会上升到20种颜色。