【问题标题】:HeatMap with RGB in MatlabMatlab中带有RGB的热图
【发布时间】:2014-06-05 19:13:27
【问题描述】:

我想在我的项目中从 HeatMap 创建一个随机值,我是 1x3RGB 向量,什么方法适合我选择随机颜色,但是我创建了以下 RGB's 颜色矢量,在什么条件下我可以使用 RGB's 创建一个 HeatMap 样本,我目前需要 仅 10 到 15 种颜色。在 Matlab 中创建 HeatMap 场景的建议是什么。

Red = [1 0 0]
Yellow = [1 1 0]
Green = [0 0.5 0]
Cyan = [0 0.5 0.5]
Blue = [0 0 1]

【问题讨论】:

    标签: matlab colors visualization rgb heatmap


    【解决方案1】:

    使用allcomb生成所有可能的组合,然后从中随机选择15个-

    代码

    list_all_colors = allcomb([0 0.5 1],[0 0.5 1],[0 0.5 1])
    
    num_rand_colors = 15 %%// Number of colors needed
    rand_colors = list_all_colors(randi(size(list_all_colors,1),num_rand_colors,1),:)
    

    如果你不想使用allcomb 并且有神经网络工具箱,你可以使用combvec,像这样生成所有这样的组合(代码sn-p from here) -

    vectors = {[0 0.5 1], [0 0.5 1], [0 0.5 1]}
    list_all_colors = combvec(vectors{:})'
    

    【讨论】:

    • 所有组合都可以完全填充热图现象,即浅蓝色、蓝色和深蓝色类型的颜色组合?我认为它可能包含重复或不相关的颜色。
    • @AhsanAli 你是对的!查看编辑 1。我想补充的一件事是,如果你让0.250.75 之类的东西进入输入向量,你可以有更多的颜色可供选择。
    • 它给了我错误,未定义的函数 'allcomb' 用于类型为“double”的输入参数。
    • 您需要从here 获取allcomb 函数或使用解决方案中提到的combvec 方法。已在 Edit 1 中修复。希望它有效!
    • 是的,它可以工作,但会给出 15x27 具有冗余值的随机颜色矩阵。
    猜你喜欢
    • 2015-06-10
    • 1970-01-01
    • 2014-05-26
    • 2013-07-08
    • 1970-01-01
    • 2017-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多