Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 打印/另存为与导出之间的差异_Matlab_Matlab Figure - Fatal编程技术网

Matlab 打印/另存为与导出之间的差异

Matlab 打印/另存为与导出之间的差异,matlab,matlab-figure,Matlab,Matlab Figure,我在Matlab中做了一些绘图,但是当导出到pdf时,我并没有得到与我在屏幕上看到的相同的结果。特别是,我正试图将白色边缘添加到图例中 leg1 = legend(names); set(leg1,'EdgeColor',[1 1 1]); 使用“文件->另存为->输出.pdf”时,边缘为白色,但使用saveas(gca,'Out.pdf')或print-dpdf-Out.pdf时,边缘为黑色。当我使用导出函数时,Matlab在做什么?如何从命令行获得相同的结果 编辑 为了清楚起见,这是一个

我在Matlab中做了一些绘图,但是当导出到pdf时,我并没有得到与我在屏幕上看到的相同的结果。特别是,我正试图将白色边缘添加到图例中

leg1 = legend(names);
set(leg1,'EdgeColor',[1 1 1]);
使用“文件->另存为->输出.pdf”时,边缘为白色,但使用
saveas(gca,'Out.pdf')
print-dpdf-Out.pdf
时,边缘为黑色。当我使用导出函数时,Matlab在做什么?如何从命令行获得相同的结果


编辑

为了清楚起见,这是一个示例代码:

plot(rand(10,1))
leg1 = legend('Data');
set(leg1,'EdgeColor',[1 1 1]);
print -dpdf Out.pdf
pdf文件显示了以下内容:

这显然不是预期的数字,它与Matlab显示的不同。当我使用“文件->另存为”选项时,标签的边缘会正确显示。

从“文件->另存为”保存时,它会运行一个mfile
filemenufcn

您可以从命令行直接调用它:

filemenufcn ( figHandle, 'FileSaveAs' )
很遗憾Mathworks不允许您传入文件名直接保存

您可以研究该函数,以查看该函数在保存图形之前对图形所做的操作

仅供参考:在最新的Matlab(R2015a)中,实际保存为pdf的最终代码是
hgexport
。(这是一个p代码文件,但它确实有一些基本帮助)您可以在命令行直接调用它

您还应该了解哪一个是将图形导出到文件的优秀工具。

从“文件->另存为”保存时,它会运行一个mfile
filemenufcn

您可以从命令行直接调用它:

filemenufcn ( figHandle, 'FileSaveAs' )
很遗憾Mathworks不允许您传入文件名直接保存

您可以研究该函数,以查看该函数在保存图形之前对图形所做的操作

仅供参考:在最新的Matlab(R2015a)中,实际保存为pdf的最终代码是
hgexport
。(这是一个p代码文件,但它确实有一些基本帮助)您可以在命令行直接调用它

您还应该了解哪一个是将图形导出到文件的优秀工具。

从“文件->另存为”保存时,它会运行一个mfile
filemenufcn

您可以从命令行直接调用它:

filemenufcn ( figHandle, 'FileSaveAs' )
很遗憾Mathworks不允许您传入文件名直接保存

您可以研究该函数,以查看该函数在保存图形之前对图形所做的操作

仅供参考:在最新的Matlab(R2015a)中,实际保存为pdf的最终代码是
hgexport
。(这是一个p代码文件,但它确实有一些基本帮助)您可以在命令行直接调用它

您还应该了解哪一个是将图形导出到文件的优秀工具。

从“文件->另存为”保存时,它会运行一个mfile
filemenufcn

您可以从命令行直接调用它:

filemenufcn ( figHandle, 'FileSaveAs' )
很遗憾Mathworks不允许您传入文件名直接保存

您可以研究该函数,以查看该函数在保存图形之前对图形所做的操作

仅供参考:在最新的Matlab(R2015a)中,实际保存为pdf的最终代码是
hgexport
。(这是一个p代码文件,但它确实有一些基本帮助)您可以在命令行直接调用它


您还应该看看哪一个是将图形导出到文件的优秀工具。

恐怕另一个答案并不能真正回答这个问题。这就是如何将白线/文本“打印”到文件中:运行

set(gcf, 'InvertHardCopy', 'off');
在使用
打印
命令之前

但是,对于您的特定情况,由于您只是试图隐藏框边框,因此更好的方法是

legend boxoff


资料来源:

恐怕另一个答案并不能真正回答这个问题。这就是如何将白线/文本“打印”到文件中:运行

set(gcf, 'InvertHardCopy', 'off');
在使用
打印
命令之前

但是,对于您的特定情况,由于您只是试图隐藏框边框,因此更好的方法是

legend boxoff


资料来源:

恐怕另一个答案并不能真正回答这个问题。这就是如何将白线/文本“打印”到文件中:运行

set(gcf, 'InvertHardCopy', 'off');
在使用
打印
命令之前

但是,对于您的特定情况,由于您只是试图隐藏框边框,因此更好的方法是

legend boxoff


资料来源:

恐怕另一个答案并不能真正回答这个问题。这就是如何将白线/文本“打印”到文件中:运行

set(gcf, 'InvertHardCopy', 'off');
在使用
打印
命令之前

但是,对于您的特定情况,由于您只是试图隐藏框边框,因此更好的方法是

legend boxoff


来源:

如果像您的情况一样,
print
支持某种格式,那么
saveas
也会在内部使用
print
。为了帮助您,请发布完整的可执行示例和问题的屏幕截图,并告诉我们您使用的是哪个MAtlab版本。如果
print
支持某种格式,就像您的案例一样,那么
saveas
在内部使用
print
。为了帮助您,请发布完整的可执行示例和问题的屏幕截图,并告诉我们您使用的是哪个MAtlab版本。如果
print
支持某种格式,就像您的案例一样,那么
saveas
在内部使用
print
。为了帮助您,请发布完整的可执行示例和问题的屏幕截图,并告诉我们您使用的是哪个MAtlab版本。如果
print
支持某种格式,就像您的案例一样,那么
saveas
在内部使用
print
。为了帮助您,请发布一个完整的可执行示例和问题的屏幕截图,并告诉我们您使用的是哪个MAtlab版本。