Previous legend replaces the new one in a plot, why?

6 views (last 30 days)
In an app (desgined using Matlab), I plot x and y-data and clear axes using 'cla' in order to plot a different x-y data. The issue is- the legend from the previous re-appears on the new graph replacing the new legend. I can not understand why. I want to completely remove the legend for the first dataset and prepare the same axes for a new data. I have tried using other functions as well but it does not work. Any help would be appreciated. Thanks a lot.

Answers (1)

Kevin Holly
Kevin Holly on 19 Aug 2022
Edited: Kevin Holly on 19 Aug 2022
Were you changing the location of the legend as shown below? I made a quick app (attached) using the approach below.
plot(rand(10,1),rand(10,1))
hold on
plot(rand(10,1),rand(10,1))
legend({'example';'example2'},"Location","west")
cla
plot(rand(10,1),rand(10,1))
If that is the case, you can create a handle for the legend and delete it after clearing axes.
figure
plot(rand(10,1),rand(10,1))
hold on
plot(rand(10,1),rand(10,1))
L=legend({'example';'example2'},"Location","west");
cla
delete(L)
plot(rand(10,1),rand(10,1))
legend
  2 Comments
Raju Kumar
Raju Kumar on 22 Aug 2022
Thanks very much for your comment. No, I do not change the location. What I do is just clear the axes using cla which makes the plot and legend disappear, but when I plot a different data on the same cleared axes, the previous legend appears at the same location, not the new one. I checked with this delete function but it did not help.
Raju

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!