【问题标题】:Matlab - Update limits of caxis with set()Matlab - 使用 set() 更新 caxis 的限制
【发布时间】:2018-01-05 12:43:47
【问题描述】:
figure
surf(peaks)

colorbar;
h = caxis;

我想更新 caxis 的限制。我知道这可以通过caxis([cmin cmax]) 来完成。但假设我有多个数字,这只适用于设置当前数字。

根据MATLAB's Documentation,属性名称是limits,但是set(h, 'limits', [-1 1]) 会抛出一个错误('无效或已删除对象')。

【问题讨论】:

    标签: matlab colorbar


    【解决方案1】:

    如文档中的示例之一所示,您在此处要做的是将target 输入到caxis 函数。 limits 是输入参数,而不是可以与 set 一起使用的属性。

    你的例子就变成了:

    figure;
    surf(peaks);
    h = gca;
    colorbar;
    caxis(h,[-1 1]);
    

    或者,如果您要在设置限制之前创建许多图,

    figure;
    h = axes;
    surf(peaks);
    colorbar;
    caxis(h,[-1 1]);
    

    【讨论】:

    • 当我以移动设备发布时不能,因此仅从文档中工作。现已修复。
    【解决方案2】:

    limits,根据官方文档,是一个包含最小值和最大值的二元素向量,它不能用作属性名称:

    [cmin cmax] 形式的向量

    如果您想同时为所有现有图形实现此目的,您可以找到所有现有轴并对所有轴应用相同的限制:

    % Before Matlab R2014b, 0 must be used instead of groot!
    all_axes = findall(groot,'Type','axes');
    caxis(all_axes,[-10 10]);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-05-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-15
      • 2011-06-18
      • 1970-01-01
      相关资源
      最近更新 更多