使用matlab画半透明椭圆

先上最终效果图:

本来是想直接用scatter和alpha来画的,结果在尝试以下代码后,发现无法显示透明效果

scatter(rand(1000,1),rand(1000,1), ‘filled‘);

alpha(0.5)

具体原因可以参考stackoverflow(http://stackoverflow.com/questions/6366404/semi-transparent-markers-in-matlab-figures)

无奈,只能自己用patch来画了,代码如下:

clear all
close all

x=rand([500,1])*0.5;
y= rand([500,1])*1;
s = rand([500,1])*0.03;
t= 0:pi/10:2*pi;
figure();
grid on
for i=1:size(x)
pb=patch((s(i)*sin(t)*0.5+ x(i)),(s(i)*cos(t)+y(i)),‘b‘,‘edgecolor‘,‘k‘);
alpha(pb,.3);
end
hold on
saveas(gcf,‘D:\\alphaEllipse.jpg‘)

时间: 2024-08-06 16:04:24

使用matlab画半透明椭圆的相关文章

matlab画柱状图

论文中需要画图进行比较,感觉还是matlab画起来比较方便,先把自己画的图及matlab代码放上. y=[300 311;390 425; 312 321; 250 185; 550 535; 420 432; 410 520;];b=bar(y);grid on;ch = get(b,'children');set(gca,'XTickLabel',{'0','1','2','3','4','5','6'})set(ch,'FaceVertexCData',[1 0 1;0 0 0;])leg

matlab画图形函数 semilogx

matlab画图形函数 semilogx loglog 主要是学习semilogx函数,其中常用的是semilogy函数,即后标为x的是在x轴取对数,为y的是y轴坐标取对数.loglog是x y轴都取对数. 例子, clc;clear;close all;x = 0:.1:10;y = 2*x+3;subplot(211);plot(x,y);grid onsubplot(212);semilogy(x,y);grid on 结果 —————————复习各种matlab图形函数—————————

matlab画圆

首先介绍一下rectangle函数 1.rectangle函数实际上是一个画矩形的行数,语法调用为: rectangle('Position',[x,y,w,h]),表示的是下哦那个点(x,y)开始画一个宽w高h的矩形.默认情况下是从(0,0)开始画一个宽1高1的矩形.例如直接在命令窗口出入:rectangle,axis equal  画出的图形如下图所示.(axis equal的意思是保持横纵坐标等比例) 2. rectangle函数可以制定矩形边的曲率,这就为我们画圆提供了一个思路.改变曲率

Android通过用代码画虚线椭圆边框背景来学习一下shape的用法

在Android程序开发中,我们经常会去用到Shape这个东西去定义各种各样的形状,shape可以绘制矩形环形以及椭圆,所以只需要用椭圆即可,在使用的时候将控件比如imageview或textview的高宽设置成一样就是正圆,solid表示远的填充色,stroke则代表远的边框线,所以两者结合可以实现带边缘的圆,当然也可以直接加上size控制高宽.那么我首先带你们了解一下Shape下有哪些标签,并且都代表什么意思: shape属性: rectangle:矩形 oval:椭圆 line:线,需要

matlab画二维直方图以及双y轴坐标如何修改另一边y轴的颜色

1.首先讲一下如何用hist画二维直方图 1 x=[-568179 -766698 -935586 -826865 -393971 -771826 -1529945 -1910695 -1694740 -926367 -306998 -844840 -1828334 -2062815 -2297296 -1498824 -411346 -827922 -1826636 -1844777 -1862918 -1881060 -746534 -100479 -845832 -1832756 -194

matlab画棋盘格程序

意义 在摄像机标定中常常需要打印黑白棋盘格,在投影仪标定当中也常常需要投射棋盘格. MATLAB源代码 close all; clear all; clc; width=1024 ; %pattern的宽 height=768 ; %pattern的高 img_final=zeros(height,width); reinforceconner=0 ;%是否加强角点 row=10; %pattern中棋盘格的行数 col=13 ; %pattern中棋盘格的列数 length=45; %patt

matlab画一个局部放大的图中图(总结再总结)

转自http://blog.sina.com.cn/s/blog_4d7c97a00101i7k5.html 照旧感谢原作者,分享者们,阿门! 以下三种方法,szlqq345喜欢用第一种的. 第一种:magnify是个动态放大镜,固化后可以用tools>edit plot移动小图,能选取多个局部图,这个方法不错 用法:打开figure图,输入magnify,左键动态选取查看,ctrl+左键固化,也可右键固化,‘<’和‘>’缩放方法范围,‘+’和‘-’缩放放大比例 原帖:http://ww

MATLAB画ROC曲线,及计算AUC值

根据决策值和真实标签画ROC曲线,同时计算AUC的值 function auc = roc_curve(deci,label_y) %%deci=wx+b, label_y, true label [val,ind] = sort(deci,'descend'); roc_y = label_y(ind); stack_x = cumsum(roc_y == -1)/sum(roc_y == -1); stack_y = cumsum(roc_y == 1)/sum(roc_y == 1); a

matlab画动画

一般来说,matlab制作动画有四种方式. 第一 .以质点运动轨迹的方式显示 使用comet.comet3函数,前者是二维,后者是三维 comet(y)显示质点绕向量y,comet(x,y)显示质点绕向量y与x,comet(x,y,p),其中为轨迹尾巴的长度 以comet(x,y)为例, 显示平抛运动 vx = 40; t = 0:0.001:10; x = vx*t; y = -9.8*t.^2/2; comet(x,y) 显示导弹发射 vx = 100*cos(1/4*pi); vy = 1