How can I delete legends from a plot or subplot?

464 visualizaciones (últimos 30 días)
Deniz Baturay
Deniz Baturay el 27 de Mzo. de 2016
Editada: MathWorks Support Team el 3 de En. de 2024
When I plot the model returned by the "fitlm" function, a legend is automatically added to the plot. I am creating multiple subplots, and would like to remove repetitive legends. How can I do this?

Respuesta aceptada

Azzi Abdelmalek
Azzi Abdelmalek el 2 de En. de 2024
Editada: MathWorks Support Team el 3 de En. de 2024
Below are two ways to remove a legend from a plot:
  1. Use the "findobj" function to find the legend(s) and the "delete" function to delete them: 
    % Find and delete the legend
    lgd = findobj('type', 'legend')
    delete(lgd)
    If you have multiple plots on the same figure (and thus multiple legends), the above will delete all of the legends for all of the plots. To only remove specific legends, you can delete the legend at a specific index:\n
    delete(lgd(idx)) % where idx is the index of the legend(s) to delete
  2. If you do not want to delete the legend, you can turn off the legend's visibility:
    set(lgd(idx), 'visible', 'off')
  3 comentarios
Deniz Baturay
Deniz Baturay el 27 de Mzo. de 2016
I changed 'type' as 'tag' and it works. Thanks.
RUBINEI DORNELES MACHADO
RUBINEI DORNELES MACHADO el 3 de Mayo de 2020
Hi ... if you need delete specific legend in position x:
lgd.String(x)=[ ];
;)

Iniciar sesión para comentar.

Más respuestas (1)

MHN
MHN el 27 de Mzo. de 2016
Editada: MHN el 27 de Mzo. de 2016
Open your figure and type in the command line:
legend('hide')
If you have many figures, put this in a loop and save the figure after hiding the legend.

Etiquetas

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by