Can MATLAB do radial enlargements of plots?

1 次查看(过去 30 天)
I have attached an image to illustrate what I mean. I will gladly appreciate any advice on this. Many thanks.

采纳的回答

DGM
DGM 2022-6-26
You could do this by simply transforming the data itself
scale = 2;
center = [1 2]; % [x y]
r = 1;
th = 0:360;
x = r*cosd(th) + center(1);
y = r*sind(th) + center(2);
% transform data
x = (x - center(1))*scale + center(1);
y = (y - center(2))*scale + center(2);
hp1 = plot(x,y);
axis equal
grid on
... or you could do it by manipulating the graphics object directly
scale = 2;
center = [1 2]; % [x y]
r = 1;
th = 0:360;
x = r*cosd(th) + center(1);
y = r*sind(th) + center(2);
hp1 = plot(x,y);
axis equal
grid on
Ms = makehgtform('scale',scale);
Mtc = makehgtform('translate',[-center 0]);
t = hgtransform('parent',gca);
set(hp1,'parent',t)
set(t,'Matrix',Mtc*Ms)

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 2-D and 3-D Plots 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by