Get access to Marker handle of a line plot

7 ビュー (過去 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 ExchangeGraphics Performance についてさらに検索

タグ

製品

Community Treasure Hunt

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

Start Hunting!

Translated by