2017-08-08 14 views
1

MATLAB2017aでは、contourfを使用してカラーバーティックを手動で指定すると、終了チックが表示されません。 エンドティックは、輪郭行列の最大値に対応します。MATLABカラーバー終了チック問題

S = floor(rand(20)*20)+1; 
maxS = max(max(S)); %S is an integer matrix obtained from the previous code 
tickStep = maxS/10; 
contourf(S, 30) 
bar = colorbar('XTick', [1,tickStep:tickStep:maxS]); 

が、それはバグですか、それは「機能」である: は薄くなりのようなものをやって? どうすれば対処できますか?

+1

表示されている問題を再現できるコードを入力してください([mcve]を参照)。あなたの場合、問題の原因となる 'S'の一部(またはすべて)を含めるべきです。使用しているMATLABのバージョンについても言及してください。最後に、 'CLim'を' Clim + [ - 1,1]。* eps(CLim) 'に設定することで解決できるかもしれません。 –

+0

固定。基本的には、この問題はほとんどすべての 'S 'の構成で発生するはずです。 – Alex

答えて

1

は、ソリューションを自分で発見:

基本的にはそれがcontourf(S,30)作品の方法に関連しています。 contourf(S,30,'ShowText','on')で線の値をプロットすると、最高値はmaxSより低くなります。したがって、最後のティックは等高線プロットの可能な値の範囲外です。

私が思いついた最善の解決策は、contourf(S,linspace(1,maxS,30))を使用することです。今度は最後の目盛りが見えます。

関連する問題