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

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.

Antworten (1)

Kevin Holly
Kevin Holly am 19 Aug. 2022
Bearbeitet: Kevin Holly am 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 Kommentare

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
@Raju Kumar What version of MATLAB are you using?

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Graphics Object Properties finden Sie in Hilfe-Center und File Exchange

Gefragt:

am 19 Aug. 2022

Kommentiert:

am 22 Aug. 2022

Community Treasure Hunt

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

Start Hunting!

Translated by