0

私が参照する図は、ここにあります: http://oi44.tinypic.com/2utgbo3.jpg

プロット 1 に示されているようなプロットを作成しようとしています。プロット 2 に示されている値に応じて、積み上げ棒 (基本的にはボックス) の色が変わるはずです。

いくつかの調査の後、matlab で棒グラフを個別に色付けするためのmathworks に関する次のソリューションを見つけました。

私が今抱えている問題は、積み上げ棒グラフに問題を適応させることです。シンプルにするために、最初に積み上げグラフの mathworks ソリューションからコードを変更しようとしました。

  mydata=rand(2,3);                        % here I added a 2nd row
  bar_h=bar(mydata,'stack');               % here I added 'stack'
  bar_child=get(bar_h,'Children');
  set(bar_child,'CData',mydata);

  mycolor=[0 0 0;0 0 1;1 0 0];
  colormap(mycolor)
  set(bar_child,'CDataMapping','direct');

  for iCount=1:length(mydata)
      if (mydata(iCount)<.2)
          index(iCount)=1;
      elseif(mydata(iCount)>=.6)
          index(iCount)=3;
      else
          index(iCount)=2;
      end
  end

  set(bar_child, 'CData',index);
  colormap(mycolor);

最初の問題は次の行で発生します。

set(bar_child,'CData',mydata);

次のエラーで:

set Conversion を使用したエラー セルから double への変換はできません。

このソリューションを積み上げ棒グラフに適応させるために、助けていただけませんか?

よろしく、

ベアリ

4

0 に答える 0