导出数字到eps,pdf时Matlab中的奇怪行为

Yos*_*oun 6 matlab export figure

当我在Matlab中创建一个图形时,在将图形导出到eps(或pdf)时,有一个图例和一个接触y轴的矩形(奇怪,我知道)我注意到矩形获得了最后一行的线条样式绘制的线条(而不是绘制的矩形)

对于接触轴的矩形绘制的矩形也会发生此行为...

如果在创建图例之前绘制矩形,则不会发生这种情况....

不用说,创建一个最小的例子我花了半天时间:

clf
L=plot(X,sin(X),'--');

legend(L,'sin(x)')

rectangle('position',[0.001,.1,.7,.7])
rectangle('position',[0,.5,.6,.7])
rectangle('position',[0.001,.3,.5,.7])

%legend(L,'sin(x)')
Run Code Online (Sandbox Code Playgroud)

在屏幕上,3矩形有实线,正如它们应该的那样.但是一旦它们被导出,结果就会有最后两行用虚线(比如sin(x)).如果传奇命令稍后完成(如注释掉的那一行),一切都按原样运行....

这是一个功能还是一个bug?

Mat*_*oug 4

这不是一个功能。我正在将其提交给开发。

您找到了一种只需最少代码练习的解决方法。我会将其记录在您的代码中,以便有人不会在不知不觉中更改它并继续前进。

如果您愿意接受其他输出格式,请注意这对于使用 MATLAB 输出过滤器的格式来说不是问题。

http://www.mathworks.com/access/helpdesk/help/techdoc/ref/print.html

(图形格式文件部分,表中右列)

-Doug,MathWorks 处理图形问题的高级支持。