2017-10-23 10 views
1

以下のようにMATLAB barplotのバーを色分けしたいのですが、この部分が含まれているとエラーが発生しています。どうすればこの問題を解決できますか?MATLABヒストグラムのバーの色

x = [1.5,2.5;1.5,2.5;1.5,2.5]; 

b = bar(x) 
% b.FaceColor = 'flat'; 
% b.CData(1,:).FaceColor = [0.4,0.6,0.8];   
% b.CData(2,:).FaceColor = [0.3,0.4,0.6]; 


set(gca,'XTickLabel',{'\fontsize{16}Cond1', '\fontsize{16}Cond2', '\fontsize{16}Cond3'}) 

legend('\fontsize{16}Class1','\fontsize{16}Class2'); 
ylim([0 5.5]) 
ylabel('\fontsize{16}Intensities [V]') 
title('\fontsize{16}Intensities for all conditions'); 

答えて

1

、あなたは以前のバージョンのmatlabを使っています。

x = [1.5,2.5;1.5,2.5;1.5,2.5]; 
b = bar(x) 

enter image description here

b(1).FaceColor = [0.4,0.6,0.8]; 
b(2).FaceColor = [0.3,0.4,0.6]; 

enter image description here

1

次の2行は、右見ていない:あなたが探している

b.CData(1,:).FaceColor = [0.4,0.6,0.8]; 
b.CData(2,:).FaceColor = [0.3,0.4,0.6]; 

:あなたはおそらくbar機能のCData新しいプロパティを使用しようと

b.CData(1,:) = [0.4,0.6,0.8]; 
b.CData(2,:) = [0.3,0.4,0.6]; 
+0

したがって、b.CData(1、:) = [0.4,0.6,0.8]を追加します。 b.CData(2、:) = [0.3,0.4,0.6]; は実際に私にエラーを投げています... – Pegah

+0

カンマをスペースで置き換えようとしましたか(たとえば、[0.4 0.6 0.8] ')?私はそれが同じことをすると思います。また、どのようなエラーメッセージが表示されますか? – frslm

+0

'matlab.graphics.chart.primitive.Bar'の適切なメソッド、プロパティ、またはフィールド 'CData'がありません。 plotCorr(行21)のエラー b.CData(1、:) = [0.4,0.6,0.8]; – Pegah

1

してください:あなたは(?なぜ、質問自体に)コメントで書いたエラーが出た場合 は、あなただけのCDataを省略すべきですそれを試してみてください:

x = [1.5,2.5;1.5,2.5;1.5,2.5]; 

b = bar(x); 
b(1).FaceColor = [0.4,0.6,0.8]; 
b(2).FaceColor = [0.3,0.4,0.6]; 

私はそれがあなたが欲しいものを正確にすると思います。基本的にはbオブジェクトにインデックスを付けて別のデータセットにアクセスし、その色を変更するにはFaceColorプロパティを変更する必要があります。

+0

ありがとう!! ........ – Pegah

関連する問題