在Matlab中绘制带有框架、刻度线的图形,并将其放置在图形线的顶部。

14

考虑如下内容:

figure
plot(sin(0:0.01:pi))
axis tight
set(gca,'box','on','ticklength',[0.02 0.05])

然后将图像导出为PDF或其他格式。该图的线条处于刻度标签和坐标轴之上。(此外,坐标轴的线条不正确地相交,但这是另一个问题。)

有没有一种方法(可以自动化)使坐标轴绘制在顶部?

1个回答

20

尝试以下方法:

set(gca, 'Layer','top')

根据文档页面的说明:

{bottom} | top

绘制图形对象下方或上方的轴线。确定是否在2D视图中(例如,当您沿x、y或z轴查看时)在轴子对象上方或下方绘制轴线和刻度标记。使用此属性将网格线和刻度标记放置在图像顶部。

为了直观地查看效果(放大了1200%),我将图形保存为PDF文件:

alt text

默认值(Layer=bottom):

alt text

使用Layer=top:

alt text


哇,我不知道这个存在。我对 get(gca) 不陌生,但是这个我没有注意到。谢谢! - Will Robertson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接