【问题标题】:How to set the color scale in contourf function in MATLAB with arbitrary maximum and minimum values?如何在MATLAB中的contourf函数中设置任意最大值和最小值的色阶?
【发布时间】:2012-09-10 05:48:29
【问题描述】:

一个简单的问题。 无论如何告诉Matlab函数“contourf”,用我给定的值(而不是数据集的值)缩放颜色? 我知道你可以简单地调用函数

contourf(x,y,Data, v) 

并在 v 向量中设置范围,但我的问题是 Matlab 会自动检查 v 向量中的指定值是否确实存在于数据中?如果它们不存在,则它会自动将颜色范围重新调整为数据集中可用的最大值和最小值。

例如,如果

Data =[0 1 2; 3 4 5; 6 7 8]; 
v=-10:1:10;

然后当我打电话时

contourf(x,y,Data,v) 

显示的颜色图会自行缩放

v=[0:8];

我要求这样做的原因是我想为各种数据集绘制几个等高线图,但我需要始终具有与传递给的当前数据数组中可能不一定存在的最大值/最小值相关联的相同颜色代码轮廓函数。

我希望我已经足够清楚了。

【问题讨论】:

    标签: matlab colors scaling fill contour


    【解决方案1】:

    查看caxis 命令。我没有用contourf 测试过它,但我认为这就是你所追求的。

    像这样使用它:

    caxis([ cmin cmax ])
    

    其中cmincmax 是当前颜色映射中作为索引给出的最小和最大颜色。来自help caxis

    CAXIS 是一个设置坐标区属性 CLim 和 CLimMode 的函数。

    意味着您也可以手动修改这些轴设置(即set(gca, 'clim', [...])

    【讨论】:

    • 谢谢罗迪!这确实起到了作用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-10
    • 2018-07-17
    • 2014-06-21
    相关资源
    最近更新 更多