Can MATLAB do radial enlargements of plots?
1 view (last 30 days)
Show older comments
I have attached an image to illustrate what I mean. I will gladly appreciate any advice on this. Many thanks.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1046625/image.png)
0 Comments
Accepted Answer
DGM
on 26 Jun 2022
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 Comments
More Answers (0)
See Also
Categories
Find more on 2-D and 3-D Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!