Get access to Marker handle of a line plot

5 visualizaciones (últimos 30 días)
Lothar Löwer
Lothar Löwer el 22 de Feb. de 2018
Respondida: Paul Smits el 4 de Abr. de 2019
I trying to get acces of the "MarkerHandle" of a line plot:
h_plot = line(x,y); hMarkers = get(h_plot,'MarkerHandle');
It works great in case I am running the code in debug mode. Unfortunatelly, running the program in "normal" mode, I don't get access to the handle (results in "0×0 empty GraphicsPlaceholder array"). Any ideas?
  1 comentario
Lukas Fricke
Lukas Fricke el 3 de Mayo de 2018
Sounds like a concurrency issue to me. Did you try with an intermediate "drawnow"?

Iniciar sesión para comentar.

Respuestas (2)

Bhuvnesh Singh
Bhuvnesh Singh el 26 de Feb. de 2018
While using the line function try to mention the marker as the input to the function,
e.g:
h_plot = line(x,y,'Marker','o')
And then try to access the hMarkers =
get(h_plot,'MarkerHandle');
  1 comentario
Lothar Löwer
Lothar Löwer el 27 de Feb. de 2018
Thank's for the reply. Last week I tried the proposed way too, without any effect.
Nevertheless, I solved the problem using the scatter function. So far, I didn't know this plotting routine:
scatter(x,y,[],linspace(1,10,size(x)));

Iniciar sesión para comentar.


Paul Smits
Paul Smits el 4 de Abr. de 2019
Matlab optimisation somehow destroys proper marker definitions.
Hack-solution: pause between creating the plot and fetching the markers.
h_plot = line(x,y);
pause(0.0000000001);
hMarkers = get(h_plot,'MarkerHandle');

Categorías

Más información sobre 2-D and 3-D Plots en Help Center y File Exchange.

Etiquetas

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by