カスタマイズされたMATLABカラーマップとカラーバーの作成に問題があります。画像を表示したい(imagesc
たとえば)そしてNx4マトリックスを介してカラーマップを定義したい
cMap = [ x(1) r(1) g(1) b(1); ...
x(2) r(2) g(2) b(2); ...
...
x(N) r(N) g(N) b(N)];
との間の画像値が色x(i)
を持つように。ベクトルは増加する必要がありますが、必ずしも線形である必要はありません。さらに、GUIで画像をクリックして、各ピクセルの実際の画像値を確認できるようにしたいので、表示する前にピクセル値を再割り当てしたくありません。最後に、各色が同じ長さのセグメントで表されるカラーバーが必要です。 x(i+1)
r(i),g(i),b(i)
x
の最小公倍数を見つけ、diff(x)
いくつかの一定の色の行を1つのカラーマップに連結することで、これらの2/3を実行できますが、これによって作成されるカラーバーの色のサイズはxに沿った差に比例し、見た目は悪くて読みにくい。
カラーバーの問題を回避するために、色のパッチオブジェクトをいくつか作成しcMap
、それらを配置してからこれらのオブジェクト[inf inf]
を呼び出しlegend
てみましたが、これをすべてのサイズのカラーマップで見栄えよくするために必要なすべての凡例と軸のプロパティを設定することは非常に重要です複数のユーザーがこのツールを使用しているため、私は常にこれをデバッグしています。可能であれば、MATLABカラーバーを使用したいと思います。
誰かがこのような問題に対処したことがありますか?ありがとう!