Get access to Marker handle of a line plot

6 vues (au cours des 30 derniers jours)
Lothar Löwer
Lothar Löwer le 22 Fév 2018
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 commentaire
Lukas Fricke
Lukas Fricke le 3 Mai 2018
Sounds like a concurrency issue to me. Did you try with an intermediate "drawnow"?

Connectez-vous pour commenter.

Réponses (2)

Bhuvnesh Singh
Bhuvnesh Singh le 26 Fév 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 commentaire
Lothar Löwer
Lothar Löwer le 27 Fév 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)));

Connectez-vous pour commenter.


Paul Smits
Paul Smits le 4 Avr 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');

Catégories

En savoir plus sur 2-D and 3-D Plots dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by