首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Matlab:绘制圆圈并在不同半径上填充不同颜色。

Matlab:绘制圆圈并在不同半径上填充不同颜色。
EN

Stack Overflow用户
提问于 2014-03-12 09:56:23
回答 2查看 3.6K关注 0票数 1

我有一张地图,希望在上面画一个射频传播路径,在那里信号会随着距离而减弱。我在同一轴坐标上画了4个圆圈。这四个圆有不同的颜色和不同的半径。就像目标板。

用一个圆圈画这些画可以吗?还是要反复迭代不同半径的圆圈?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-12 11:02:06

可能是误用scatter

代码语言:javascript
复制
% set up centre and number of circles
x = 5;
y = 5;
n = 4;
r = 25; % radius multipler

scatter(repmat(x,[n,1]),repmat(y,[n,1]),pi.*((n:-1:1)*r).^2,(1:n),'fill');
colormap jet;

注:pi.*((n:-1:1)*25).^2:散射大小以点平方为单位。另外,为了使较小的圆圈过大,使用n:-1:1而不是1:n,以便首先绘制最大的图。

票数 0
EN

Stack Overflow用户

发布于 2014-03-12 11:19:14

您可以使用cylinder并设置压缩Z维度的顶部视图。

以下情节

是由

代码语言:javascript
复制
nb_points = 100;
vect_profile = 1:-0.001:0;

[X,Y,Z] = cylinder(vect_profile, nb_points);

figure;
subplot(1,2,1);
h(1) = surf(X,Y,Z);
hold on;
h(2) = surf(X*0.6+2, Y*0.6+1.5, Z); %modify origins and scale of cylinder
h(3) = surf(X*0.2, Y*0.2+2,Z);      

subplot(1,2,2);
h(4) = surf(X,Y,Z);
hold on;
h(5) = surf(X*0.6+2, Y*0.6+1.5, Z);
h(6) = surf(X*0.2, Y*0.2+2,Z);
view(0,90)

set(h, 'EdgeColor', 'None');
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22347760

复制
相关文章

相似问题

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