【问题标题】:Matlab HeatMap color issueMatlab HeatMap颜色问题
【发布时间】:2015-04-27 11:05:23
【问题描述】:

我正在使用 HeatMap 对象,它提供如下图所示的 HeatMap。

我正在使用这个命令:

hmo=HeatMap(data,'ColumnLabels',collabels,'ColorMap','copper','RowLabels',rowlabels,'ColumnLabelsRotate',45,'Symmetric',true,'Standardize','ROW');

但是,我需要色阶(右侧)为 0 到 1,最浅的颜色应该代表最低值,反之亦然。 任何帮助将不胜感激。

【问题讨论】:

    标签: matlab heatmap


    【解决方案1】:

    要使最亮的颜色代表最低值,您需要颠倒颜色图顺序。您可以通过获取颜色图矩阵并翻转它来做到这一点:

    cmap = colormap('copper');
    newcmap = flipud(cmap);
    

    因此,您应该传递 newcmap,而不是在热图调用中指定字符串 'copper'。

    要在热图创建后调整颜色条限制,我相信你需要使用 CLim 选项:

    set(gca,'CLim', [0 1])
    

    【讨论】:

    • 谢谢,成功了!现在,如何在此热图上设置刻度?
    • 这不在原始问题中!但是尝试设置(gca,'XTick',firstvalue:interval:lastvalue)。它类似于 Y 轴,但您使用“YTick”选项。如果你喜欢你的热图,试试这个提交:mathworks.com/matlabcentral/fileexchange/…。如果问题已成功解决,请考虑接受它作为答案!
    • 我实际上是在尝试。该命令正在执行,但地图上未显示刻度。
    猜你喜欢
    • 2011-11-29
    • 2013-12-28
    • 2018-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-08
    • 1970-01-01
    • 2015-03-01
    相关资源
    最近更新 更多