Get access to Marker handle of a line plot

6 ビュー (過去 30 日間)
Lothar Löwer
Lothar Löwer 2018 年 2 月 22 日
回答済み: Paul Smits 2019 年 4 月 4 日
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 Center および File Exchange2-D and 3-D Plots についてさらに検索

タグ

製品

Community Treasure Hunt

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

Start Hunting!

Translated by