Markers intersect with axis in MATLAB plot

22 次查看(过去 30 天)
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
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
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])

Jan
Jan 2013-7-23
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 个评论
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
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');

类别

Help CenterFile Exchange 中查找有关 Line Plots 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by