Matlab 在单个条形图中表示两个二维矩阵

Matlab 在单个条形图中表示两个二维矩阵,matlab,figure,Matlab,Figure,我确实从我的核心过程中生成了两个二维矩阵。现在,我想通过条形图来表示它们。 我可以设法得到独立矩阵的三维条形图,如附图所示 我的数据矩阵是 “扩展数据”-大小为:(52 x 46) “yData”-尺寸为:(52 x 46) 它们的大小总是一样的。 现在,我想以“分组样式”将它们表示在一起,如中所示。我通过将它们(扩展数据和yData)组合在一起得到三维矩阵,即生成52 x 46 x 2矩阵,然后尝试使用bar3命令绘图;但是,我出错了,无法绘制。 你们知道怎么做吗?我通过一个循环来做到这一点

我确实从我的核心过程中生成了两个二维矩阵。现在,我想通过条形图来表示它们。 我可以设法得到独立矩阵的三维条形图,如附图所示

我的数据矩阵是

  • “扩展数据”-大小为:(52 x 46)
  • “yData”-尺寸为:(52 x 46)
  • 它们的大小总是一样的。

    现在,我想以“分组样式”将它们表示在一起,如中所示。我通过将它们(扩展数据和yData)组合在一起得到三维矩阵,即生成52 x 46 x 2矩阵,然后尝试使用bar3命令绘图;但是,我出错了,无法绘制。
    你们知道怎么做吗?

    我通过一个循环来做到这一点:


    我通过一个循环成功地做到了这一点:


    您能否提供创建显示图形所用的确切Matlab代码以及使用确切错误消息尝试的代码?您能否提供创建显示图形所用的确切Matlab代码以及使用确切错误消息尝试的代码?Thank@user2999345的可能副本看起来会是这样的做必要的事。。会相应地更新您的谢谢@user2999345看起来它会满足您的需要。。我们将相应地更新您
    % generate random data
    sz = [5 4];
    xData = rand(sz);
    yData = rand(sz);
    % plot zeros in the same size to prepare plot
    Z = zeros(sz);
    h0 = bar3(Z);
    set(h0,'EdgeColor','none','FaceColor','none');
    axis tight
    % plot each data column in a loop
    hold on
    for kk = 1:size(xData,2)
        h1 = bar3([xData(:,kk),yData(:,kk)],'grouped');
        % move current bars to their x position
        cellfun(@(x) set(h1,'XData', x + (kk - 1)), get(h1,'XData'));
    end