Get access to Marker handle of a line plot

3 次查看(过去 30 天)
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 个评论
Lukas Fricke
Lukas Fricke 2018-5-3
Sounds like a concurrency issue to me. Did you try with an intermediate "drawnow"?

请先登录,再进行评论。

回答(2 个)

Bhuvnesh Singh
Bhuvnesh Singh 2018-2-26
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 个评论
Lothar Löwer
Lothar Löwer 2018-2-27
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)));

请先登录,再进行评论。


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

类别

Help CenterFile Exchange 中查找有关 Graphics Performance 的更多信息

标签

产品

Community Treasure Hunt

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

Start Hunting!

Translated by