首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在matlab中更改线透明度

在matlab中更改线透明度
EN

Stack Overflow用户
提问于 2021-08-04 10:56:47
回答 1查看 1.2K关注 0票数 0

我是matlab的新手,正在尝试绘制一些回归线,但使它们变得透明。我在这里读到:https://uk.mathworks.com/matlabcentral/answers/44442-change-opacity-of-lines,应该可以通过指定alpha作为颜色的最终值来实现这一点,但是,这对我来说没有任何改变。你知道如何让我的线条变得透明吗?我正在运行R2021a版本。

plot(MC_age(:,i),f(i,:),'LineWidth',0.1,"Color", [0.4, 0.4, 0.4, 0.8])

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-04 11:25:51

对不起,我没有2021a,但我已经在R2020b和R2017a上测试了以下代码

代码语言:javascript
复制
x = 1:10;
y1 = rand(size(x));
y2 = rand(size(x));
y3 = rand(size(x));

figure;hold all;
plot(x,y1,'LineWidth',10,"Color", [0.4, 0.4, 0.4, 1])
plot(x,y2,'LineWidth',10,"Color", [0.4, 0.4, 0.4, 0.5])
plot(x,y3,'LineWidth',10,"Color", [0.4, 0.4, 0.4, 0.2])

它的工作方式和你想的一样,但不幸的是it seems that others have experienced a problem doing the same thing with 2021a.

有一个名为patchline()this function,它实际上将地块绘制为面片对象。下载它,然后使用以下代码(在保存patchline的同一目录中)

代码语言:javascript
复制
x = 1:10;
y1 = rand(size(x));
y2 = rand(size(x));
y3 = rand(size(x));

figure;hold all;
p1 = patchline(x,y1,'edgecolor',[0.4 0.4 0.4],'linewidth',2,'edgealpha',1);
p2 = patchline(x,y2,'edgecolor',[0.4 0.4 0.4],'linewidth',2,'edgealpha',0.5);
p3 = patchline(x,y3,'edgecolor',[0.4 0.4 0.4],'linewidth',2,'edgealpha',0.2);

给出了下面的图像

我也已经在2017a和2020b上测试过了。这在2021年对你有效吗?

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68650017

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档