How to avoid overlapping when plotting in for loop

12 views (last 30 days)
t=[ %to print text
text(2,3.5,'')
text(2,3,'')
text(2,2.5,'')
text(2,2,'')
text(2,1.5,'')
];
for i = 200:10:2700
% Forward kinematics
th1 = simOut.ScopeData.signals.values(i,1);
th2 = simOut.ScopeData.signals.values(i,2);
th3 = simOut.ScopeData.signals.values(i,3);
x1 = L1*cos(th1);
y1 = L1*sin(th1);
x2 = L2*cos(th1 + th2) + x1;
y2 = L2*sin(th1 + th2) + y1;
x3 = L3*cos(th1 + th2 + th3) + x2;
y3 = L3*sin(th1 + th2 + th3) + y2;
set(t(1),'String',sprintf('X : %.2f',x3));
set(t(2),'String',sprintf('Y : %.2f',y3));
set(t(3),'String',sprintf('joint 1 angle : %.2f',th1*180/pi));
set(t(4),'String',sprintf('joint 2 angle : %.2f',th2*180/pi));
set(t(5),'String',sprintf('joint 3 angle : %.2f',th3*180/pi)); % I want to plot without removing the text.
hold on
plot(x1, y1, 'ok', 'Linewidth', 2) % joint 1
plot(x2, y2, 'ok', 'Linewidth', 2) % joint 2
plot(x3, y3, 'ok', 'Linewidth', 2) % joint 3
plot([ox, x1],[oy, y1], 'r', 'Linewidth', 2) % link 1
plot([x1, x2],[y1, y2], 'b', 'Linewidth', 2) % link 2
plot([x2, x3],[y2, y3], 'g', 'Linewidth', 2) % link 3
hold off
max_L = L1+L2+1;
axis([-max_L max_L -max_L max_L])
grid on
  2 Comments
Jan
Jan on 29 May 2022
What do you call "overlapping" in this picture?
Image Analyst
Image Analyst on 29 May 2022
Attach your data with the paperclip icon after you read this:
save('answers.mat', 'simOut');
Also show us a plot of what you'd like the output plot to look like.

Sign in to comment.

Answers (1)

Muhammad Majid
Muhammad Majid on 29 May 2022
I am using the following code of line in order to save plots.:
def plotStats(aggr_ep_rewards, i, my_file):
'''Plot rewards curves'''
DIR = '../Simulations/2_Q_Learning_exploration_explotation/A/'
plt.plot(aggr_ep_rewards['ep'], aggr_ep_rewards['avg'])#label="average rewards"
plt.legend(loc=4)
plt.title(f"RL Q_Learning TEST:{i}")
plt.xlabel('Episodes')
plt.ylabel('Rewards')
# plt.show()
plt.savefig(os.path.join(DIR, my_file))

Community Treasure Hunt

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

Start Hunting!