如何设置绘图的不透明度?
How to set the opacity for a plot?
我有一些数据要绘制在一张图中。噪音数据正在破坏其他数据。如何更改给定数据的透明度级别?就我而言,我使用 hold all
命令绘制多个数据。解决方案之一是更改 LineWidth
但我找不到透明选项的方法。我试过 alpha
如下
plot( noise_x, 'k', 'LineWidth', 1, 'alpha', 0.2)
但运气不好。
您可以使用来自文件交换的 patchline 提交,您可以在其中操作线对象,就好像它们是补丁对象一样;即为它们分配透明度 (alpha) 值。
下面是一些使用函数的示例代码:
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
并输出:
使用 Matlab R2014b 中的 introduction of the new graphic engine HG2,事情变得非常简单。一个人只需要挖一点。
颜色 属性 现在包含 opacity/transparency/face-alpha 的第四个值,所以这就是您需要更改的全部内容:
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;
连颜色渐变都是nothing special anymore。
我有一些数据要绘制在一张图中。噪音数据正在破坏其他数据。如何更改给定数据的透明度级别?就我而言,我使用 hold all
命令绘制多个数据。解决方案之一是更改 LineWidth
但我找不到透明选项的方法。我试过 alpha
如下
plot( noise_x, 'k', 'LineWidth', 1, 'alpha', 0.2)
但运气不好。
您可以使用来自文件交换的 patchline 提交,您可以在其中操作线对象,就好像它们是补丁对象一样;即为它们分配透明度 (alpha) 值。
下面是一些使用函数的示例代码:
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
并输出:
使用 Matlab R2014b 中的 introduction of the new graphic engine HG2,事情变得非常简单。一个人只需要挖一点。
颜色 属性 现在包含 opacity/transparency/face-alpha 的第四个值,所以这就是您需要更改的全部内容:
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;
连颜色渐变都是nothing special anymore。