Legend title only without marker and lines of data

110 visualizaciones (últimos 30 días)
Maniraj M
Maniraj M el 21 de Abr. de 2018
Comentada: Hasret el 17 de Abr. de 2024
Hi all, Are there any way to get rid of data related marks and only display title of the legend. Any suggestion would be great.
  4 comentarios
David Fletcher
David Fletcher el 21 de Abr. de 2018
You could get the handle to the legend; get its position property; then set the position of the text to be the same position as the legend. Or if you want the text to just be somewhere upper right of the graph, set the Units property of the text object to 'normalized' and somewhere around 0.9,0.9 would be around the upper right corner.
Maniraj M
Maniraj M el 21 de Abr. de 2018
Editada: Maniraj M el 21 de Abr. de 2018
Well, thanks for your suggestion. But, I have tried already this idea and is not fulfilling the requirements for handling large number of figures. I could not use figure frame as input for text, when one has some plot. I am mainly looking for simplest option to keep text at right-side top (irrespective of range of scale values used for plots). Some time it feels that matlab is oversimplified.

Iniciar sesión para comentar.

Respuesta aceptada

David Fletcher
David Fletcher el 21 de Abr. de 2018

Looks like the text position is consistently in the upper right (irrespective of range scale values) to me, but if you say you've tried it and it's not fulfilling your requirements then fair enough. I can't say I have any other ideas.

for iter=1:30
    dataX=randi(randi(100,1,1),1,randi(30,1,1))
    dataY=randi(randi(100,1,1),1,length(dataX))
    figure(iter)
    plot(dataX,dataY)
    text(0.9,0.9,'tst','Units','normalized')
end
  1 comentario
Maniraj M
Maniraj M el 22 de Abr. de 2018
Thanks a lot. The 'Units','normalized' was missing in my code. I miss understood that if I normalized the figure window, it will be for all. my bad. This part keeps the text at correct position.

Iniciar sesión para comentar.

Más respuestas (1)

Walter Roberson
Walter Roberson el 21 de Abr. de 2018
dummyh = line(nan, nan, 'Linestyle', 'none', 'Marker', 'none', 'Color', 'none');
legend(dummyh, 'One legend entry to rule them all!')

This will leave empty space for the line, but there will still be a gap there.

  2 comentarios
Maniraj M
Maniraj M el 22 de Abr. de 2018
Thank you for the interest.
Hasret
Hasret el 17 de Abr. de 2024
Thank you. It works perfectly!

Iniciar sesión para comentar.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by