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

时间:2010-08-06 16:31:50

标签: matlab export figure

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

触及轴后的绘制的矩形也会出现这种情况......

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

毋庸置疑,创建一个最小的例子花了我半天时间:

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)')

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

这是一个功能还是一个错误?

1 个答案:

答案 0 :(得分:4)

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

您找到了一种适用于最少代码体操的解决方法。我会在你的代码中记录它,所以有人不会在不知不觉中改变它并继续前进。

如果您对其他输出格式持开放态度,请注意这不是使用MATLAB输出过滤器的格式的问题。

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

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

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