カラーバー、カラーマップで特定の値を透明にする方法
7 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Takaki Fujii
am 30 Dez. 2018
Beantwortet: Kazuya
am 2 Jan. 2019
contourfやpcolorを使って、塗りつぶした等値線の描画を行う際に、特定の値だけ塗りつぶさないという事は出来るでしょうか?(あるいは特定の値だけ透明にするなど)
下記のようなコードで全体を透過度を上げる事は出来ましたが、特定の値だけ、透過度を上げる操作が分かりません。
扱っているデータには0が含まれており、0だけ塗りつぶさないようにしたいです。
ちなみに、カラーバーに白色を追加して、特定の値(0)だけ塗りつぶす色を白くする、ということはやってみましたが、極座標を使っている都合上、座標軸も白く塗りつぶされてしまうため使えませんでした。
よろしくお願いします。
h=pcolor(X,Y,Data)
shading interp
set(h,'facealpha',0.1) ;
0 Kommentare
Akzeptierte Antwort
Kazuya
am 2 Jan. 2019
できれば実行できるサンプルコードがあれば、いろいろ試しやすいんですが・・。
その「特定の値」をNaNに置き換えて描画する方法はどうでしょう? contourf 関数のヘルプページに
"Z に値 NaN があると、等高線図中に境界線が黒の空白領域が残ります。"
と記載がありますが、pcolor 関数でも同じみたいです。
n = 6;
r = (0:n)'/n;
theta = pi*(-n:n)/n;
X = r*cos(theta);
Y = r*sin(theta);
C = r*cos(2*theta);
C(C>0.5) = nan; % 0.5 以上の値を nan にしてみます。
hp = pcolor(X,Y,C);
axis equal tight
0 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu 等高線図 finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!