Markers intersect with axis in MATLAB plot

Hello
I am plotting some data with markers, e.g.:
loglog(t55,r55,'ko','markerfacecolor','w','markersize',12);
However this marker intersects with my axis and i can see the border outside the actual plotting area defined by xlim and ylim. Altering markersize and boundaries is no option!
How can I adapt my plot that only the part of the marker in plotting are is seen?
Thanks

1 件のコメント

Daniel Shub
Daniel Shub 2013 年 7 月 23 日
I don't think it can be easily done. See a previous unanswered question of mine where I was trying to figure out the extents of the markers.

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

回答 (4 件)

Ben
Ben 2013 年 7 月 23 日

0 投票

nobody?

1 件のコメント

Jan
Jan 2013 年 7 月 23 日
Please do not bump your question by posting a pseudo-answer. When the readers did not find a solution before, bumping without adding new information, is a waste of time.

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

David Sanchez
David Sanchez 2013 年 7 月 23 日

0 投票

Set the axis according to your data, extending the limits to your need:
x= rand(10,1);
y = rand(10,1);
loglog(x,y,'ko','markerfacecolor','w','markersize',12);
ext=1; % adapt this value to your needs
axis([min(x)-ext max(x)+ext min(y)-ext max(y)+ext])

1 件のコメント

Jan
Jan 2013 年 7 月 23 日
The OP wrote:
Altering markersize and boundaries is no option!

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

Jan
Jan 2013 年 7 月 23 日

0 投票

Try to clip the axes' children:
AxesH = loglog(t55,r55,'ko','markerfacecolor','w','markersize',12);
Child = get(AxesH, 'Children');
set(Child, 'Clipping', 'on');
But perhaps this matters the center of the markers only, but not if only parts of the circles are outside the axes' limits.

3 件のコメント

Ben
Ben 2013 年 7 月 23 日
This does not work, actually it does not change anything. Perhaps it is because of what you mentioned: only parts of the cirvles are outside the axes' limits.
Jan
Jan 2013 年 7 月 23 日
This means, that there is no trivial solution. Then explain, why you need this and in which format you ant to export the diagrams.
Ben
Ben 2013 年 7 月 23 日
It's about plotting test results in a clean and nice way for a paper. Plots are exported as .eps files. I can edit them with CorelDRAW. That's not the way I intended to to it, but I guess its less work than fiddeling around with MATLAB.

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

Alexander Weitzel
Alexander Weitzel 2022 年 11 月 7 日

0 投票

Even though this question is already quite old, I can present a simple and viable solution for the problem of overflowing markers.
Assuming you are interested in a clean picture for an article or a dissertation, simply set 'ClippingStyle' to 'rectangle' and print the figure to pdf, parts of markers lying outside of axes are now clipped.
set(gca,'ClippingStyle','rectangle');
print(gcf,'foo.pdf','-dpdf','-r300','-bestfit');

カテゴリ

ヘルプ センター および File ExchangeCreating, Deleting, and Querying Graphics Objects についてさらに検索

製品

質問済み:

Ben
2013 年 7 月 22 日

回答済み:

2022 年 11 月 7 日

Community Treasure Hunt

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

Start Hunting!

Translated by