How do I plot individual circles whose centers are points on a graph?
显示 更早的评论
I generated some random numbers which represent random forces acting on a spring, I then divided this random forces by a spring constant 20.5 to get the random positions (using Hooke's Law), I selected the random positions between -50 and 50. This random positions were then plotted (using the code below);
x_max=50.0;
x_min=-50.0;
N = 100;
RandFor = 1030*rand(N,1) .* sign(randn(N,1));
k= 20.5;
x=RandFor./k;
x(x_min > x | x > x_max) = 0;
scatter( 1:length(x), x, 75,[0 0 0],'filled' )
plot(x)
figure(1)
%subplot(1,3,1:2)
xlabel('frames');
ylabel('Random Positions');
I need to plot individual circles centered on each plotted random position, thus for above code there should be 100 circles. These circles are one dimensional because the random positions are plotted only on the y-axis. so the circles have only y co-ordinates, the x-axis represents the captured frame of each circle.
I tried using the code below to plot the circle
function circle(a,b,r)
%x and y are the coordinates of the center of the circle
%r is the radius of the circle
%0.01 is the angle step,
ang=0:0.01:2*pi;
xp=r*cos(ang);
yp=r*sin(ang);
plot(a+xp,b+yp);
hold on;
end
But I don't know how to make the circle appear on each random position.
采纳的回答
更多回答(1 个)
disha
2013-4-5
0 个投票
You can try the following modification in your code. plot(x,y,'--rs','LineWidth',2,... 'MarkerEdgeColor','k',... 'MarkerFaceColor','g',... 'MarkerSize',10) Hope this helps.
类别
在 帮助中心 和 File Exchange 中查找有关 Scatter Plots 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!