How to convert Matlab scatterplot axis to display pixels

1 回表示 (過去 30 日間)
Waleed Khalid
Waleed Khalid 2017 年 2 月 10 日
コメント済み: Waleed Khalid 2017 年 4 月 3 日
I am drawing a circle via scatterplot and it plots it in the form of arbitrary units. I want those units to be in pixels so I can run some further algos on them. Imdistline doesn't do much as it only displays the distance in terms of the arbitrary units.

採用された回答

Adam
Adam 2017 年 2 月 10 日
Set the XLim and YLim properties of your axes to match the 'Position' property of your axes (doing the obvious maths to go from the start, size represented by position to the start, end needed by xlim and ylim), either relative to the figure (i.e. taken directly from 'Position' with the origin the same) or relative to the axes start (i.e. origin at 0 and x and y lim just set to the size of the axes).
Then draw your circle and it will be in pixel space.
  1 件のコメント
Waleed Khalid
Waleed Khalid 2017 年 2 月 12 日
Awesome, thanks a lot man.

サインインしてコメントする。

その他の回答 (1 件)

Walter Roberson
Walter Roberson 2017 年 2 月 10 日
編集済み: Walter Roberson 2017 年 2 月 12 日
You can set the axes Units property to Pixels and set an appropriate Position after that.
This will not affect algorithms though. It would perhaps make it slightly easier to use the figure CurrentPoint property, but normally you would use the axes CurrentPoint property anyhow.
  3 件のコメント
Walter Roberson
Walter Roberson 2017 年 2 月 27 日
It is not clear which coordinates you want. Axes position coordinates are always relative to the figure, but perhaps you are wanting to make them relative to the screen.
Waleed Khalid
Waleed Khalid 2017 年 4 月 3 日
Hi, Sorry for the late reply but yes that is exactly I want so if I export the saved image to a different program, say photoshop, I know the exact coordinates of the plotted points

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeAnnotations についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by