1つの図にプロットするデータがいくつかあります。ノイズデータは他のデータを台無しにしています。特定のデータの透明度レベルを変更するにはどうすればよいですか?私の場合、いくつかのデータをプロットするために_hold all
_コマンドを使用しています。解決策の1つは、LineWidth
を変更することですが、透明度オプションの方法が見つかりませんでした。私は次のようにalpha
を試しました
plot( noise_x, 'k', 'LineWidth', 1, 'alpha', 0.2)
しかし、運がありません。
新しいグラフィックエンジンHG2 inMatlab R2014b、物事はかなり簡単になりました。少し掘る必要があります。
Colorプロパティには、不透明度/透明度/面アルファの4番目の値が含まれるようになったため、変更する必要があるのはこれだけです。
x = linspace(-10,10,100); y = x.^2;
p1 = plot(x,y,'LineWidth',5); hold on
p2 = plot(x,-y+y(1),'LineWidth',5);
% // forth value sets opacity
p1.Color(4) = 0.5;
p2.Color(4) = 0.5;
色のグラデーションでさえ もう特別なことは何もありません 。
File Exchangeからの patchline 送信を使用できます。この場合、ラインオブジェクトをパッチオブジェクトであるかのように操作できます。つまり、透明度(アルファ)値を割り当てます。
関数を使用したサンプルコードを次に示します。
clc;clear;close all
n = 10;
x = 1:n;
y1 = Rand(1,n);
y2 = Rand(1,n);
y3 = Rand(1,n);
Y = [y1;y2;y3];
linestyles = {'-';'-';'--'};
colors = {'r';'k';'b'};
alphavalues = [.2 .5 .8];
hold on
for k = 1:3
patchline(x,Y(k,:),'linestyle',linestyles{k},'edgecolor',colors{k},'linewidth',4,'edgealpha',alphavalues(k))
end
および出力: