当我在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)
)。如果稍后完成图例命令(如在注释掉的行中那样),一切都按原样运行....
这是一个功能还是一个错误?
答案 0 :(得分:4)
这不是一个功能。我正在将此提交给开发部门。
您找到了一种适用于最少代码体操的解决方法。我会在你的代码中记录它,所以有人不会在不知不觉中改变它并继续前进。
如果您对其他输出格式持开放态度,请注意这不是使用MATLAB输出过滤器的格式的问题。
http://www.mathworks.com/access/helpdesk/help/techdoc/ref/print.html
(图形格式文件部分,表格右栏)
-Doug,MathWorks的高级支持,处理图形问题。