图片缩略图"itemprop=

export_fig

版本3.14 (89.7 KB 实验后奥特曼
导出数字很好,以一些矢量和位图格式
4.9
797年评级

1657下载

更新12月9日2020

从GitHub

查看版本历史

在GitHub上查看许可证

编者按:受欢迎的文件20112012201320142015201620172018

该文件被选为MATLAB中央本周精选

该函数将图形或单轴保存为一个或多个矢量和/或位图文件格式,并/或输出栅格化版本到工作区,具有以下属性:
-图/轴在屏幕上显示时复制
-裁剪/填充边框(可选)
-内嵌字体(pdf格式)
改进了直线和网格线样式
-抗锯齿图形(位图格式)
-以本机分辨率渲染图像(位图格式可选)
支持透明背景(pdf, eps, png, tif万博1manbetxf)
-支持半透明的补丁对象(png, tiff)万博1manbetx
- RGB, CMYK或灰度输出(CMYK只与pdf, eps, tiff)
-可变图像压缩,包括无损(pdf, eps, jpg)
-可选圆角行帽(pdf, eps)
-可选附加到文件(pdf, tiff)
—矢量格式:pdf、eps
—位图格式:png, tiff, jpg, bmp,导出到工作区

这个功能特别适合导出用于出版物和报告的数据,因为所制作的媒体质量高,可移植性好。

注意,背景色和图形尺寸在输出文件中被复制(后者近似复制,忽略裁剪和放大)。对于透明的背景(和半透明的补丁对象),使用-transparent选项,并在需要的地方设置轴线的“Color”属性为“none”。Pdf、eps和png是唯一支持透明背景的文件格式,而png格式单独支持补丁对象的透明。万博1manbetx

当导出到矢量格式(pdf & eps)和使用画家渲染器的位图时,该功能要求在您的系统上安装ghostscript。你可从以下网址下载:
http://www.ghostscript.com

当导出到eps时,它还需要pdftops,这是Xpdf包的一部分。你可从以下网址下载:
http://www.xpdfreader.com

使用示例和提示可以在README部分找到:
https://github.com/altmany/export_fig/blob/master/README.md

各种组件的技术说明可在此处找到:
http://undocumentedmatlab.com/blog/export_fig

本投稿最初由奥利弗·伍德福德创建。Yair Altman自2015年1月起维护该实用程序。

当报告错误时,请通过GitHub提出问题:https://github.com/altmany/export_fig/issues
不要把错误粘贴到下面的评论-我不会回应这些。

引用作为

耶尔·奥特曼(2021年)。export_figGitHub (https://github.com/altmany/export_fig/releases/tag/v3.14)。检索

评论及评分(1061

耶稣卢西奥

需要! !

Debejyo Chakraborty

我做了一个茎图与xticklabels作为默认字体大小的字符串。然后,我创建了字体大小为16的xlabel。在matlab中显示良好。在我使用export_fig它重置所有的字体大小为默认值。它甚至在matlab中修改了图形。输出pdf显示所有的字体大小都是相同的。然而,它没有改变图例的字体大小。这是一个bug,还是有一个解决方案?我用的是matlab 2020a。

Eric Fritze

非常棒的工作,感谢良好的文档-易于使用。只需两行代码,您就可以显示与屏幕上显示的完全相同的格式的数字——即使有透明的背景。

J胫骨

Mathworks必须购买这些代码。

伊恩•亨特

壮观的工作!
我很感谢你分享了它!
学习曲线很小,但完全值得。

艾米丽施万

Parsa Omidi

马科斯

它不能转换为emf格式。然而,我发现了另一种方法在某些情节中强制使用矢量格式(figure('Renderer', ' painter '))

布莱恩·诺斯克·詹森

我更喜欢一种解决方案,我不需要在100多台电脑上安装Ghostscript,以便能够在它们上制作多页pdf文件。

Sameh困难问题

斯科特Karbashewski

神奇的工具箱。发现一个问题。使用hfill命令与“yyaxis left”和“yyaxis right”一起创建双轴图不能正确保存,填充区域为空白。但如果你手动创建另一侧的y轴的第二个轴(即不要使用yyaxis创建双轴图),它将毫无问题地保存下来。

帕斯卡Etterli

David Viedma Palomo

Adpassenger

非常有用的“工具箱”!非常感谢!
但是…我可以要求升级“emf”吗?裁剪对这种格式无效。

Erik Javerbrink

j·t·霍尔米

Yair,你能添加一个'-nopromo'参数来停止每周咨询促销信息吗?目前,它可以通过'setpref('export_fig', 'promo_time', now);'在export_fig-调用之前停止。

埃米尔哈姆萨

摩诃

维克多•丰贸

Dardag

婷婷张

王杰克

j·t·霍尔米

Yair,你能添加一个'-ignoreupdate'参数来禁用自动"Warning: a new version of export_fig is available."-messages吗?我不想修改export_fig代码来手动禁用它。

剑周

有人见过这个问题吗?当目标eps文件非常大的时候,分辨率会有很大的下降。

Neuropragmatist

伟大的提交。最近从2015年版本更新到2020年版本,并注意到一个非常好的速度增加。

我同意Ander的观点,广告信息有点奇怪。巨大的工具箱需要几个人花费1000个小时的工作,但却不包括编码到功能中的广告。相比之下,你对安德的严厉斥责显得很幼稚。我也从未见过另一份包含广告的FEX提交。

你想在每个FEX提交广告吗?弹出式窗口呢?因为你在设定这个标准。

在我的例子中,广告一直在显示,尽管我认为它只应该显示一次。所以我注释掉了if循环中的部分"if isempty(promo) && ~isdeployed"
我还注释掉了for循环中的部分"function displayMsg(params, funcName, type, filenameParam)"

zhaichangzhi

非常感谢。这确实解决了我将3D图形保存为矢量图形的问题。因为我使用Windows 10和Word,我想把我的数字保存为emf格式。但是我发现emf格式的大小是svg的20倍多。而且emf图形中的文本在Word中看起来不清楚。我用的是MATLAB 2019b, Word 2016

费尔南多Villaca

泰利斯公司

迪亚戈迪亚斯

难以置信的谢谢你!对出版很有用。

Mucahid Akbas

米兰达Nixon-Hill

醉酒驾车kurniawan

谢谢你兄弟

央行

穆斯塔法Vardaroglu

谢谢!
我只是觉得灰色背景有问题。对于使用的解决方案:set(0,'DefaultFigureColor','remove')
这里是讨论的出处://www.tianjin-qmedu.com/matlabcentral/answers/58172-figure-export-print-always-has-gray-background-with-png-jpg

FHEPCH92

神奇的提交。
然而,我不能用Matlab R2020a (MacOs)在“svg”,“eps”或“pdf”中透明地保存。
我使用的行集(gca,'Color','None')和export_fig('test.svg', '-transparent'),但我获得了一个黑色的背景图像。

FHEPCH92

一个国王

Ottavio Mattia Mazzaretto

非常感谢!这是一个非常有用的函数,它也适用于副图。

艾莉森·韦伯

实验后奥特曼

@GalWiner, @bstechel -带有EdgeColor='none'的注释在我的Windows 10机器上的R2019b和R2020a中正常工作。如果您仍然发现问题,打开一个新的问题https://github.com/altmany/export_fig/issues

康Queseth

雅各斯宾塞

哈利波特小说

@Gal Winer, @bstechel -你必须将LineStyle设置为“none”而不是将颜色设置为“none”
@Yair Altman -同意你对@Ander Biguri的评论。我一直在使用你的export_fig和许多提示从无文件的MATLAB多年来,我从未支付你一分钱。
你本可以把所有的信息都记在你的书里,你就不必接管这个不可或缺的工具的维护工作了。这两件事都非常感谢你!

乔阿齐兹

Richard-Nicolas维罗恩

实验后奥特曼

@Andar -真的吗?你获得了一个“很棒的投稿”(游戏邦注:这是数百个小时的工作成果),而你却抱怨了一个不引人注目的广告,并给投稿打了一星?!我敢打赌,你也会抱怨免费手机应用程序和电脑程序中的广告。也许我该送你一个免费的金字版?这会满足你不可告人的道德吗?你这个自私、忘恩负义的某某人,真让我恶心!

还Biguri

很棒的提交,但是第一次运行时的“广告”是没有必要的,在我看来,道德上是不行的。

bstechel

@Gal Winer -你/有人找到注释文本框“EdgeColor”问题的解决方案了吗?

Tarek Rashwan

克拉克

加维纳

嗨,Yair,谢谢你的这个功能。
我似乎有一个注释文本框的问题。我将“EdgeColor”设置为“none”,但PDF输出的边框为黑色。
这是已知的问题吗?如果是,是否有解决方案?

谢谢,

实验后奥特曼

@Jan Vopel - ghostscript。M是export_fig包的一部分。您需要安装整个export_fig包,而不仅仅是append_pdf.m。然后确保安装export_fig的文件夹在Matlab路径中。
@Sebastian, @Arnold, @Patrick -请提交关于https://github.com/altmany/export_fig/issues
@Rohit - export_fig并不将图形对象从一个图形复制到另一个图形,而是将它们导出到一个单独的文件(PDF/JPG/等等)。详细信息请阅读文档。
@Jy Han -看https://github.com/altmany/export_fig/issues/285另外,请尝试export_fig的新版本,因为这个问题在最近几周已经部分解决了。

Jan Vopel

你好,
我想使用附录pdf。M函数,所以我安装了ghostcript。然而,出现了“无法识别的函数或变量'ghostscript'”错误。我把它安装在另一个驱动器上,而不是我的工作文件所在的那个。有人能帮我解释一下这个错误吗,也许你也犯过同样的错误?
非常感谢

将一个带有许多子图的图导出到png时,该函数在子图位置上有问题:它稍微移动了它们,但足够不好看。它来自print2array函数,它神秘地影响了图形句柄fig,当稍后更新图形属性时,位置会发生移动,例如,当执行set(fig, 'Color', 'w', ' position ', pos);。

我用以下方法避开了这个问题。在每次执行print2array之前,执行save(图,'tmp')。每次print2array执行后,delete(图);FIG = open('tmp.fig')。缺点是句柄图改变了,所以我只把它作为print2array的输出,并在父函数中更新它。

我会上传我的编辑,但我不知道如何:-(
希望这对你有帮助!

罗希特德斯穆克

你好,
我正在使用MATLAB 2019b应用程序设计器,我想使用export_fig复制我的Ui轴到一个图。如何才能做到这一点呢?
export_fig(app.UiAxes,destination) ??
谢谢

kors Atsua

非常完美。谢谢

佩德罗Pedrosa

阿诺德

我一直在寻找一种方法来保持export_fig的输出为16位,但我能想到的是要么导出到剪贴板,然后粘贴作为一个变量在一个工作区或导出为tmp.tif,然后imread('tmp.tif')它再次删除后。两者都很容易出错,并不好。
我希望有更好的办法……Like out = export_fig('16bit');

问候

Seung-Goo金

美国圣。

我有一个关于嵌入字体的问题:我想使用export_fig来创建EPS图形,而不将文本嵌入到文件中(即,我想能够编辑文本之后)。这可能吗?谢谢。

帕特里克锤

你好。出口无花果有什么限制吗?我试图在流体力学中制作q准则的图像(我想象是一个密集的图来制作),MATLAB没有使用输出图写它,似乎被挂起来了。谢谢!

司法院汉

这就跟你问声好!我有问题的输出pdf使用export_fig函数。如果您能回答这个问题,我将非常感激。matlab报告的错误如下:
错误:/undefined在.setopacityalpha
操作数堆栈:
0
执行堆栈:
%interp_exit .runexec2——nostringval-- --nostringval-- --nostringval——2% stopped_push——nostringval-- --nostringval-- --nostringval——false 1 %stopped_push 1990 1 3 %oparray_pop 1989 1 3 %oparray_pop——nostringval——1977 1 3 %oparray_pop 1833 1 3 %oparray_pop——nostringval——% errorrexec_pop .runexec2——nostringval-- --nostringval-- --nostringval——2% stopped_push——nostringval——
字典堆栈:
——dict: 732/1123 (ro) (G)——dict类型:0/20 (G)——dict类型:131/200 (L)
当前分配模式为本地
上次操作系统错误:拒绝权限
当前文件位置为9674487
GPL Ghostscript 9.50:不可恢复的错误,退出代码1

可能C:\Users\23181\AppData\Local\Temp\tpb4f71068_4603_4bb3_8d1f_50d514e8e4de.pdf被另一个应用程序打开了
或者可能在系统路径中有另一个gs可执行文件

Ghostscript路径:D:\Program Files\MATLAB\gs9.50\bin\gswin64c.exe
Ghostscript选项:-q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dPDFSETTINGS=/prepress -sOutputFile="C:\Users\23181\AppData\Local\Temp\tpb4f71068_4603_4bb3_8d1f_50d514e8e4de.pdf" -dEPSCrop -sFONTPATH="C:\Windows\Fonts" -f "C:\Users\23181\AppData\Local\Temp\tp714a7816_d749_44e8_a55f_a4b4a6d475ea.eps"

export_fig错误。请确保:
你使用的函数(D:\Program Files\MATLAB\altmany-export_fig-d5538e9\export_fig.m)来自预期的位置
并且在export_fig的预期输入参数中没有出现错误
ghostscript正确安装在D:\Program Files\MATLAB\gs9.50\bin\gswin64c.exe中

圣扎迦利

Santanu出生

禅城朱

彼得•李

非常好的代码。非常感谢,惊人的质量。eps数据

康斯坦丁·爱马仕

Ashneel钱德拉

卢卡斯荣格

莱奥波尔多Losa

对不起,错误的网页,取消我的评论

迈克尔Darmanis

Tunca Nuzket

阿卜杜勒·夸迪尔·汗

Rajasi德赛

乔治·Etsias

尼古拉斯Turo-Shields

Femab

Xen

非常好,谢谢。但是,如何导出具有特定尺寸(英寸和分辨率)的图形呢?在导出之前设置图形的大小,然后以指定的分辨率导出,这是不起作用的,因为函数去掉了白色区域,最终得到了错误的大小。

女士

Yoeri波英克

玛雅Desamo

我喜欢它

runze徐

Kuntan倪

美丽的功能!它为我节省了大量保存数据的时间,并且一直是我的默认选择。

劳埃德·艾略特

通李

不错的

江南阮

撒母耳Cortinhas

乔治·平托

王濛

适用于其他格式。
但是对于eps格式,有一个错误:pdftops not found,尽管在Windows平台的安装文件夹中确实有pdftops.exe。然而,当matlab抛出这个错误并打开对话框定位pdftops时,它不会显示该文件。
尝试了各种方法https://github.com/altmany/export_fig/issues/137在这里。但是没有帮助,因为我找不到一个libfreetype。不确定是因为他们在Linux平台上。但是不管怎样,这个错误在Windows上仍然存在。

khaoula karroum

Batool阿巴斯

使用它来成功添加pdf文件!

雷吴

Gaszton

完美地将透明背景的数字保存为PNG。

Sim Mah

非常感谢

杰西卡Vidmark

我是不是唯一一个在安装pdftops所需文件夹时遇到很多困难的人?我不明白这有什么好困惑的。

赫伯特Satria

托尼Piaskowy

小路曾

好东西!对论文有很大帮助!谢谢你。

哈里斯Kunnath

杰罗姆Garnier-Brun

帕特里克Gutz

这就跟你问声好!
我发现标签有下标的问题。使用'CMU Sans Serif'-Font创建图形,并在例如eps中导出,调用第一个下标字母前的空格。我需要这种字体以便与文档的其他部分保持一致。有办法解决这个问题吗?短的例子:

x = [0, 3];
y = [0, 1];
情节(x, y)

包含(文本x_1 + x_2);
ylabel(“文本y_1 + y_2”);

甘氨胆酸ax =;
斧子。FontName='CMU Sans Serif';
export_fig(“Trial.eps”、“透明”);

Nicolaj汉森

羌族朱

谢谢这个完美的工具!

卢卡Freilino

Reece Nixon-Luke

非常完美

嘉成邓

Ufuk驯养员

索菲亚

保罗·帕卡德

我一直在寻找的东西。颜色条中的白色对角线也有问题,但只在pdf中(使用透明选项),而在tif中没有。

迈克尔Darmanis

伟大的工具!

Jullienne弗朗茨

Sajid Raza

非常有用的工具箱

河马

我发现export_fig非常有用,它在裁剪图形的边距方面做得非常好。我想知道是否有可能将裁剪功能提取为一个更独立的函数,这样当我们以export_fig不支持的格式导出图形时,它可以非常方便,例如emf格式,这是一种矢量格式,与MicroSoft Word高度兼容。万博1manbetx如果作者或其他人能做到这一点,将不胜感激。

亨利·吉登斯

Seung-Goo金

戴WEIJUN

阿诺德

前面文章中的PDF问题只会发生在图中有非向量化数据的情况下,比如带有imagesc的图像。然而,所有的元素似乎都被栅格化了。所有的文字,标签,网格线,一切。

阿诺德

-pdf不会为我生成向矢量化的PDF文件,但在迁移到新的win 10 r2018b设置之前,它总是有。任何建议吗?当然,安装了最新的鬼脚本。

迪玛

Jasvir巴尔

汤姆·林德斯特伦

Suhail Najm Abdullah

Pankaj

谢谢分享,很有用。将深切感万博1manbetx谢Emf的支持。

Shuoshi张

Linwei胡

非常非常有用。在2018a工作得很好。非常感谢楼主分享!

达蒙海德

Waitsang亚强

神奇的功能!

克里斯托弗•艾略特

这个函数解决了IEEE出版物中epstopdf图中非嵌入字体(Helvetica)的问题。非常有帮助,谢谢Yair Altman!

费尔南多Zigunov

不导出Latex字体到pdf…

实验后奥特曼

SKG - export_fig[还]不支持使用App Desi万博1manbetxgner或uifigure命令创建的uifig图,因为它依赖于Matlab的内置打印命令,这仍然不支持这类图(至少在R2018b)。

朱Ruihen

热议

使用matlab.ui.Figure/horzcat错误
不可能从char转换到matlab.ui.Figure。

为什么会出现这个错误?

优思明萨米

感谢这段很棒的代码!!
不幸的是,我有一个小问题。我的身材也有一个适合的.....如何将图形和可应用保存在同一图中?目前,export_fig只是忽略图中的可应用,只保存图。

w2 = strcat (stn, -Geo_ensemble);
export_fig (w2、“平方米”);

krimou24

小君孟

这是一个神奇的函数!但是,我不能导出-esp格式。因为我使用的是MacOS, Mac没有Ghostscript和pdftops .有人知道我能解决这个问题吗?

法利Postgate

发现错误。需要更新2018b路径是所有。

对不起……

法利Postgate

不知道为什么,但这对我来说很好,直到2018b (2018a是ok的)。现在使用2018b,我得到以下错误:

未定义函数或变量“using_hg2”。

export_fig>parse_args中的错误(第1157行)
选项。Aa_factor = 1 + 2 * (~(using_hg2(fig) &&
isAA) |(选项。渲染器== 3));

export_fig中的错误(第280行)
[fig, options] = parse_args(nargout, fig, varargin{:});

有什么想法吗?

谢谢,
法利

中村口一

我应该早知道这个函数。从MATLAB图中导出高质量的图形并不简单。有很多东西需要考虑。但是这个函数可以解决其中的许多问题。

Efstathios Zavvos

这工作得非常好,直到我不得不导出一个具有左右y轴的数字。在这种情况下,图形的输出总是在水平方向上较小,例如,如果你设置一个10x10cm的正方形图形,输出的图形将不是正方形,而是在水平轴上较短。

张贤宰

我发现下面的问题在R2018a上已经解决了

张贤宰

你好,我已经很好地使用了这个了不起的功能,但最近,我遇到了一个问题。
我以EPS格式导出我的数字。
在MATLAB图形窗口中,没有问题。
但是在导出的EPS文件中,标记的位置有轻微的右移和上移。
我想可能是版本问题....但我没有任何见解。
请帮帮我……
我在windows 10 64位上使用2017a, ghostscript 9.21, pdftops 3.04。
导出图中的最后一个chage日志是% 09/04/17:添加-linecaps选项(由Baron Finer提出,issue #192)
谢谢!

崇基蔡

小玉玉

Xianglin

非常感谢!这个函数真的很有用!

非常感谢这个非常有用和美妙的工具!唯一可以解决的问题是,使用“-native”选项导出的图像会产生某种失真。看起来,这个选项的算法产生了原始图像的几个贴图,这些贴图在错误的方向上偏移了一些像素。这可能是某种舍入问题或类似的问题....

利奥波德

我想指出的事实是,export_fig看起来与psfrag不兼容
https://ctan.org/pkg/psfrag

export_fig输出的eps文件似乎相对于print或saveas进行了修改,因此psfrag不替换该标记。

还有人能对此发表评论吗?

craq

我刚碰到了一个棘手的案子。我试图导出一个新版本的图形,得到错误“无法创建X.pdf -可能文件夹不存在,或您没有写入权限”。原来,以前的版本是在acrobat阅读器中打开的,而Windows不允许对打开的文件进行写入。也许错误消息可以包含一个注释“如果您正在使用Windows,请检查该文件没有在任何其他程序中打开”?

Eric Eschner

辛格为基础

Yu邹

康拉德

旧金山

Sathya Edamadaka

Eyal塔尔

这是否可以更新到与在应用程序设计器中创建的轴一起工作?

谢谢

杰克沃克

请忽略前面的评论,只需要以“函数”的形式运行它。绝对好。谢谢你的辛勤工作!

克里斯·胡

萨莎Nasonova

你是了不起的。谢谢你!

尼科热点;

杰西玉

延斯

奥列格季诺维耶夫

添加路径并使用它!谢谢!

泰勒·艾伦

非常好的插件,使用起来很简单。如果您想要在原始图像上覆盖计算曲面或分散数据图,并且仍然保持质量,这是很好的。超级有助于为出版物制作漂亮的数字!

弗雷德里克·Gustavsson

当我在一个不可见的图形('visible','off')上使用export_fig时,该图形包含文本框、按钮等uicontrol,并混合了图形,uicontrol不会被打印出来。如果我对可见的图形做同样的事情,所有的东西都会被打印出来。对此是否有解决方案?

z8080

非常有用的函数,但如果它还添加了对EMF的支持就更好了,因为它毕竟是microsoft office最友好的向量格式!万博1manbetx

乔纳森•穆勒


我没有设法在App Designer环境中使用此功能。
我得到错误“未定义函数'export_fig'的输入参数类型'matlab.ui.control.UIAxes'。”
这个类型的对象没有为这个函数定义吗?
它是否进一步计划使该功能在应用程序设计器中工作?
这将是非常有帮助的,因为常规选项(如打印等..)也没有(还)在应用程序设计器。

余小

Mihai-Alexandru Dusmanu

Joern Adermann

Caetano甜瓜

Mazin穆斯塔法

帮我解决了太多问题。

香港阮

Nikhil Mukund Menon

阿列克谢

Reza Tavakol

ho-yam

李建民

米歇尔fari

詹尼·Pedrizzetti

干得好,允许高质量的图像。I允许保存(在高分辨率和任何格式)准确显示在MatLab中。

劳拉罗马

Mahak Singh Chauhan

乔纳斯Allgeier

FF

我尝试保存一个带有透明彩色点的散点图(FaceAlpha = 0.5)。但是,当我将图保存为pdf格式时,透明效果消失了。我在网上检查,它说这是一个问题已经修复在export_fig。但我不知道如何恢复散点图的透明效果。有办法吗?

Z C

同样的问题也出现了。像素不是正方形的,图形是拉长的。有解决方案吗?

李卡尔

需要增强的元文件(EMF)。

张金玉

SG

当我用“-native”选项导出一个大于屏幕分辨率的图形时,像素不再是正方形的。知道怎么解吗?

Pooya89

Hakon麻醉法

大卫samvin

鲍勃达

风扇杨

阿里mehdizadehrahimi

佬司Loetgering

连香

巴蒂尔L

弗雷德里克Zittrell

戴安娜马德里

Borys Kowalewski

大卫·P

gdgc

Ferit Akgul

Ferit Akgul

非常感谢你的贡献。然而,我似乎不能导出与原始图像质量的图像文件,即使输出图像分辨率匹配。

Imshow ('file.png')——>以%33缩放显示,因为图像是4000x1000像素
export_fig -native——>输出相同分辨率的图像(4000x1000),但图像严重像素化。原始图像质量不被保留。

如何保持原始图像质量?

大卫·P

哈利Chellis

这太棒了,让生活变得简单多了!
我有麻烦时,导出作为一个数字作为一个pdf标题总是被切断,尽管

Debejyo Chakraborty

志远毛

利奥波德

你好,

我终于花了时间(实际上是几分钟)得到了它的手,我完全满意。

它可能对你们中的大多数人来说是微不足道的,但我可以建议添加一个简短的说明(例如在描述中)来描述如何使用它吗?
也就是说,用户应该解压缩zip文件,把它放在本地磁盘的任何地方,然后他应该添加他的代码
用户目录genpath(“C: \ \…\ altmany-export_fig-acfd348 \ altmany-export_fig-acfd348 '));
然后他的身影就可以节省电话了
export_fig ()
(有关可用输出和输入参数的详细信息,请参阅export_fig文件)。
希望有帮助!

荷BETAR

人人网

它真的很有用!谢谢!

齿轮厂

它非常有用。非常感谢。

abderrazak chahid

非常感谢。它非常有用

致明檀乐

王主任

钟辉公园

ashkan哈

马丁Storath

Srikanth Gadicherla

易于使用。出色的工作!

Vojtech

莉拉霍

斯特凡诺交给

NMG

杰里米牧师

荣鑫张

非常感谢。我下载了最后一个版本。我发现Matlab r2016a不再有/SO, /DO, /DA, /DD在文件中,fix_lines函数将不能工作。你能解决这个问题或者发布一个r2016a兼容的版本吗?

粉丝王

阿拉丁卡巴兰

非常感谢,
真是个神奇的工具。
我有一个问题请,我们如何可以导出格式(.fig)使用这个工具?

谢谢

帕特里克锤

我一直在使用这段代码,并且很喜欢它。然而,对于带有若干轴或对象(如箭头)的等高线地图,它们需要花费大量的时间写入EPS。当我说很长时间,我的意思是它可能运行一天,甚至不显示它是否在写它,甚至不显示它被导出到的文件夹中的文件名。你有什么建议可以让我加快速度吗?我用裁剪来去除多余的背景空间,用CYMK来表示我要提交的期刊,用画师渲染器。任何帮助都很感激,因为这已经开始让我抓狂了。:(

AndyD

Josh Natanson

伟大的工具。

马特·J

我不认为1像素额外填充的问题已经真正解决了。当我把导出的图片放在黑色ppt背景幻灯片上时,我看到周围有一个模糊的边缘

实验后奥特曼

@MichaelBevis - Xpdf项目被转移到http://www.xpdfreader.com2017年8月10日。我相应地更新了描述文本。

夏洛克许

verma babita

嗨,我正在用export_fig将一些matlab图整理成一个pdf。是否有可能将matlab图添加到现有pdf的特定页面?
我知道附加可以用来添加现有的pdf文件的数字,但问题是每次我搞砸了序列(的数字),我不得不重做所有的数字(在一个pdf)再次。所以我想知道matlab图是否可以添加到现有pdf文件的特定页面。

此推荐链接到xpdf软件

pdftops(安装Xpdf包):www.foolabs.com/xpdf

似乎不再工作,是否有xpdf包的其他来源?

EP

如何修复3d图中虚线的模糊?2d的情节看起来很好,但在3d中它们模糊在一起。我正在做一个pdf,所以我相信画家渲染器正在被使用。

尼基布朗

这很有效,谢谢你。

刘宁

丹尼尔黄

玛丽·安·哈里森

zhidong曹

Hiroki渡边

DrZoidberg

Kuifeng

尼古拉斯·D。

歌曲

太棒了,非常感谢!

吴小君

还克鲁兹

丹尼尔Niemann

非常好的和有用的功能!然而,它似乎在日期轴上有问题。我想用你的函数改进x轴上日期的时间序列图的质量。当使用你的函数时,创建的matlab图的第一个(最古老的)日期在轴的最右边,所有随后的日期移到左边。然后,它导出所描述的数字,在导出之后,轴更改为从最老到最年轻的正确顺序。

如果你能调查一下这个问题就太好了。

最好的
丹尼尔

马库斯维克多

阿米莉亚格罗斯曼

亚历山大Potrafke

内森•波特

这是我发现的创建高质量pdf的最佳解决方案。当我想在LaTeX文档中包含MATLAB中的图形时,它是一个救命稻草。

乔恩·埃里克森

大卫·乔治。

Statovic

猫王清

好工具!
但在我使用“freezecolors”工具后,它就不工作了,我可以用它做什么?

林格张

嗨,实验后,

优秀的应用程序,易于使用。你帮了我大忙!

谢谢,
林格

杰弗里·黄

西尔瓦娜帕拉西奥斯

天才!谢谢

建科李

优秀的工作。伸出大拇指!

芒滕

Anisa Oshafi

我一直在找这本书,终于找到了。做得好!

亚瑟Degeneve

谢谢!

鑫磊

卜拉希米迈赫迪

迪玛

影片拉票

塞邦

贝尔纳多

我经常得到一个错误,说我没有足够的“线程空间”。我正在追加14张图表。我要怎么做才能解决这个问题?

好东西! !

Veronika

请,我想转移png图像到tiff,但我不知道,我把(加载)我的图像为这个转移。因为我有这个错误:

使用get时出错
在Root类上没有Binarizace_okoli_ .png属性。
export_fig中的错误(第265行)
fig = get(0, 'Binarizace_okoli_ .png');

你能给我点建议吗?
谢谢你的回答。

l l

干得好,伙计!

安德里亚·芬克

太棒了!效果很好,为我节省了很多时间。

松鸦

没关系!

Mandeline费雷拉

Shervan Gharari

E_Z

功能好!但是,它不能正确地打印轴值,特别是当有像x10(-15)这样的值时。我的代码如下:
T = 0:1/4:1;%测试范围
Xa = sin(2* *2*t);
xa,情节(t '。');网格;标题(“汤姆”);
Export_fig test.pdf -native -transparent

泰长

john doe

精益王

李董

林嘉绮陈

赛PRANITH

娜塔莉

你好,
我在matlab中绘制像素网格,我必须在相同的数字上使用按住(大约100)覆盖多个网格。最后,图像变得非常重,如果我放大其中的一小部分,计算机需要处理一个小时来放大。
我想在EPS格式上导出数字,然后在EPS查看器中看到放大的数字。但是,我无法看到图形的放大信息。请让我知道是否可以保留EPS格式的原始数字信息,以便当我放大EPS数字时,我可以看到细节,就像在MATLAB中一样?

Balasundaram Kadirvelu

大卫

真的很有用的功能,谢谢!然而,当使用LineWidth选项和抗锯齿结合使用时,出现了一个小错误:

图(1)中,clf;
Z = linspace(0,4*pi,250);
X = 2*cos(z) + rand(1,250);
Y = 2*sin(z) + rand(1,250);
scatter3(x,y,z,'Marker', 'x', 'LineWidth', 4);
export_fig a4

保存的图将显示默认线宽的点,而不是指定的值。

Yusuf Said Eroglu

大家好,我用这个函数把我的数据导出到PDF。然后我在乳胶纸上使用了这些pdf格式的数据。当我上传论文时,我得到了“字体未嵌入”的错误。这个函数不是应该已经嵌入字体了吗?我还应该做什么来避免得到这个错误?

尤里斯。穆尔

托马斯Beauduin

*.EMF会很好

尼尔·亚瑟

为了导出到所需的大小,使用:
集(gcf,“位置”,figurePosition)

集(gcf, PaperPosition PaperPosition)
不会自己起作用。还需要更改LooseInset属性
集(gca, LooseInset, get (gca, TightInset))
然后使用不带填充的export_fig。然后,图形就会精确地打印到所需的大小。这正确吗?还是我错过了什么?

利奥西蒙

对不起,我下载了最新的选项,我之前注意到的问题已经修复。

利奥西蒙

这是一个很好的补充,但有一个问题,那就是填充选项只有在options是一个向量时才有效,在我的例子中不是这样。我入侵了我的代码:在export_fig的第349行,第三个参数被硬编码为1,如果您将其更改为options。Bb_padding,那么一般可以使用-p选项。希望这不会产生其他问题,但它似乎是为我工作。

Aj_ti

得给它打满分。易于使用和方便

西蒙Wyss

Water_RC

Water_RC

aditya德斯穆克

Stefan Kopecz

基思

多年来,我一直喜欢使用这个软件包。最近我开始使用并行计算工具箱(PCT)。有什么计划让export_fig与PCT一起工作吗?parfor循环中的PCT使用-nodesktop和-nofigure选项,export_fig似乎没有很好地设置来处理这些选项。

CS

Chuong阮

最好的工具箱之一。非常感谢。

Igor资助

非常有用的。图形质量非常好

艾文冯

这里有好东西。

但我有一个问题,当导出到tif和尝试不同的选项(-native, -q等)输出出来的分辨率相同,但质量下降。4x4的区域似乎被平均成一个,这是相当大的损失。我在导出时使用了错误的选项吗?

Alexandros Iliopoulos

des

这个功能使我的生活在过去的7年里有了很大的改善。非常感谢开发人员/维护者!

但是:在我之前的电脑突然死亡和随后的完整系统重装后,用export_fig导出的pdf数字现在是快递字体。使花哨的复古潮风格的图形,但不幸的是,不是任何类型的出版物的选项,并没有找到本地的解决方案迄今为止-我不得不回到Matlab的内置打印功能):

有人经历过类似的行为吗?问题是在Matlab或Ghostscript方面,还是在其他地方?

一些线索:
pdf文档属性中的字体选项卡:"any(嵌入式子集)"-在导出过程中的某个地方,人物的字体(Helvetica,我相信)不见了。

-当前系统规格:Windows 7, Matlab 2016b, Ghostscript 9.19

-浏览旧的pdf文件,我发现任何预安装的各种Matlab和Ghostscript版本的组合,直到R2015b / 9.15都可以工作。在那里,pdf指定“Helvetica”作为其嵌入字体(因此它也显示Helvetica/Arial)。

des

奥利弗Karger

嗨,这个导出包是伟大的,绘图质量比内置的Matlab函数好得多。

我想知道的是在pdf导出中,由Matlab图中模糊灰线组成的网格在pdf导出中变成了虚线白线。由于我使用虚线来分隔图形中的特定区域,现在白色虚线与我的注释线重叠。

在png导出输出中,网格线仍然是淡灰色。

我在哪里可以改变它,以获得同样的结果为pdf导出?

谢谢,祝好。
奥利弗

苏珊娜

你好,实验后,

卓越的贡献。但我挣扎与'-追加'选项,因为我想把两个图形用户界面的数字在同一文件和你的功能,我能够做到这一点,但我松了一些处理我的数字(例如uitables,字符串框..)。有人知道这是什么吗?
最好的问候,
苏珊娜

交给李

谢谢你的贡献

colorblindy

亚历山大·H

Mehmet Kivanc Çelik

艾德里安

谢谢你填补了空白。这非常方便!

艾德里安

约翰

完美的。谢谢你的辛勤工作。我不得不下载一个更新的export-fig版本,以避免eps2pdf在2015a错误。

周玮

J S

非常感谢你。如果我很暴躁,你会阻止我打我的电脑,因为打印功能的处理令人讨厌和糟糕。尝试了一个多小时未成功去除保存的情节的外部填充。对于您的脚本,包括下载时间在内,大约需要8分钟。

Kiran Sagar

我使用的电脑没有管理员权限。所以,我不能安装ghostscript。有什么办法可以解决吗?(适用于windows7 - 64bit)

Aymerick ROUSSEY

很棒的谢谢

kawofengche

伊恩·班尼特

非常好的节目。然而,我在尝试导出带有半透明绘图点的图像时遇到了一个问题(使用MarkerHandle。EdgecolorData和MarkerHandle.FacecolorData)。导出的图像没有显示我的点是半透明的,因为它们在图中。相反,它们看起来是不透明的。

Ilkka Sillanpaa

吉安·拉杰·柯伊拉腊

@Miles,您可以尝试以下代码来指定文件名。

export_fig (sprintf(图% d, mm));

我循环使用它。毫米= 1:5

cunjie张

出色的

“阳阳”

伟大的功能。节省了很多时间。

英里

当使用这个函数时,我在指定文件名时遇到了麻烦…我的代码看起来像这样:

...[代码使我的身材]…

Temp_str = strjoin({'filepath\',filename}, ");
export_fig ({temp_str})

当我这样做时,我仍然得到一个文件保存在我的目录中,名为“export_fig_out.png”。我希望得到一个带有我指定的“文件名”的文件。

有人能解释一下我做错了什么吗?我对这个函数的语法有点困惑,我想。

谢谢!

陈月

伟大的功能。谢谢分享。

Pietro Binel

我有一个关于农作物的问题!如果我裁剪图像,它不会相对于绘图框居中,因为在左边有YLabel。我应该如何修改代码,使盒子外面的左边空间等于右边的空间(空的)?

很多谢谢!

马克西姆Khomiakov

劳里stephey

渲染EPS图很漂亮,当使用matlab默认值时是一团糟。谢谢你!

夷陵熊

丹尼尔做饭

这是一个救命稻草。我用它为出版物和演讲提供了出色的数据。

M FRZ

谢谢!

埃马萨罗

你好,不幸的是,它不能与geowshow和地图上的图像工作。

[新加坡,R] = geotiffread(文件);
s =大小(新加坡);
矩阵= rand(s(1),s(2));
geoshow(新加坡(:,:1:3),R)
抓住
geoshow(矩阵,R, 'DisplayType', 'texturemap','facealpha',.5);

这是图像文件
https://www.dropbox.com/s/55o13cmyzf206uo/Singapore.tif?dl=0

如果我们这样做
export_fig test.png

它将不会看到张贴在这里的透明度:

http://stackoverflow.com/questions/39174437/matlab-how-to-save-a-geoshow-figure-with-facelpha/39175727?noredirect=1#comment65710757_39175727

埃马萨罗

你好,不幸的是,它不能与geowshow和地图上的图像工作。

[新加坡,R] = geotiffread(文件);
s =大小(新加坡);
矩阵= rand(s(1),s(2));
geoshow(新加坡(:,:1:3),R)
抓住
geoshow(矩阵,R, 'DisplayType', 'texturemap','facealpha',.5);

这是图像文件
https://www.dropbox.com/s/55o13cmyzf206uo/Singapore.tif?dl=0

尤里K

M FRZ: set(gcf,'color','w')

M FRZ

你好,谢谢你的密码。我怎样才能去掉图表的灰色边框?Export_fig给了我一个带有灰色边框(图表区域颜色)的图表。我找不到这个问题的答案。
干杯

Nat anunta

哈尼夫

Wiviann

为了使代码与以后的MATLAB版本兼容,您可以更改“using_hg2(图)”第14行中的代码。

现在应该是:
tf = ~verLessThan('matlab','8.4.0');

早些时候是这样的:
Tf = ~graphicsversion(图,'handlegraphics');

Smilla

雷蒙德表象

我已经使用这个脚本很多年了。直到现在我还没有抽出时间给这个剧本打分。谢谢这个脚本;很棒的工作!

zivan

伟大的工作。

加布里埃尔Mocan

太棒了!

安德里亚·卡普里

尼尔。保护好

你好,

当我使用它将一个图形转换为pdf/eps时,我有互相重叠的“瓷砖”,导致一些填充的圆被切成两半等。

有办法解决这个问题吗?

非常感谢,

清洁

你好,

当我使用export_fig创建.eps图形时,x标签和y标签都不以轴为中心;相反,它们以裁剪的图形为中心。我在64位Ubuntu系统上使用MATLAB2016a。下面的代码可以用来演示上述问题:

x = 0:0.001:3 * 3.1415926;

y = sin (x);

情节(x, y,“r”);

轴([0 3*3.1415926 -1]);

包含(“xxxxxxxxxxxxYxxxxxxxxxxxx”、“字形大小”,16);

ylabel(“yyyyyyyyyyyyXyyyyyyyyyyyy”、“字形大小”,16);

export_fig测试。每股收益-painters -r500 -q100 -cmyk -transparent;

请帮忙解决这个问题。很多谢谢!

尼尔。保护好

黛安娜peurichard

非常有帮助,谢谢!

Mingjian崔

真的有用!

费利佩•乌里韦

Dimosthenis Floros

一个伟大的工具!很多谢谢!

路易

如果我们改变Matlab中显示的图形的大小,eps图像的大小也会发生变化。是否有一个选项可以将大小调整到特定的eps文件,而不考虑数字?

阿明rasoulof

救命稻草!我急需一个透明的背景在png输出,它为我做了伟大的。

本杰明Bourguignat

你好,我有个问题。我有三张图图(1),图(2)和图(3)。我试图把figure_handle =findall(0,'type','figure')和export_fig(figure_handle,'-pdf'),我有一个错误消息“句柄必须是一个图,轴或uipanel”…
你能帮我吗?我想有一个数字在每一页的pdf。谢谢你!

黛安娜李

托马斯·比肖夫

效果非常好。: -)
谢谢

林赛·安德森

我在matlab中得到以下错误:

未找到Pdftops。请找到该程序,或安装xpdf-toolshttp://foolabs.com/xpdf

我也安装了xpdf指导,但我没有运气。有什么建议吗?

谢谢!

托德卡琳

我想我发现了一个漏洞。请尝试以下代码。你可以看到图中正弦波的峰值与图像中的峰值不一致。

--

清晰的
clf

X = linspace(0,30*pi,1000);
Y = sin(x);

H(1) =坐标轴('position',[.]1 .15 .8 .3])
情节(x, y)
xlim (max (x) [0])

H(2) =坐标轴('position',[.]1 .45 .8 .3])
显示亮度图像(x, y)
xlim (max (x) [0])

export_fig(“testFig2.pdf”)

一Dominko

大卫·何

大家好,这个工具非常好用。我一直在寻找一个类似的工具来帮助我导出一个具有大量数据的3D图,允许我对轴/文本进行不同于数据的编码。

我遇到过epscombine和figure2eps,但这些工具都过时了。(参见下面链接中我的问题)。

我想知道您是否会考虑将这些特性添加到export_fig中?或者matlab本身已经支持它们了吗?万博1manbetx

//www.tianjin-qmedu.com/matlabcentral/answers/277570-force-print-to-vectorize-axes-text-and-rasterize-the-rest

兹特尼克

干得好,Yair!非常感谢您为我们创建,记录和分享这个伟大的功能。

--
Ilya

兹特尼克

干得好,Yair!非常感谢您为我们创建,记录和分享这个伟大的功能。

--
Ilya

路易斯卡瓦略

我不得不改变crop_borders中的131行
B = repmat (bcol (ibt) + 1 +填充* 2 (rl) + 1 +填充* 2,1,n);


B = repmat (bcol [(ibt) + 1 +填充* 2 (rl) + 1 +填充* 2,1,n]);

否则,它就行不通了。

胡安•卡洛斯

bubbleguy

我一直在使用您的代码相当长一段时间,真的很喜欢它。谢谢。

最近,我注意到,在将图形导出到PNG图像时,不会产生小的勾号。任何建议。

Rongjie

Bogdan Dzyubak

你好,

谢谢你的代码!

但是有一个问题——在捕获的图像中,颜色栏上标签的字体变得非常小。有什么建议吗?

莱纳斯

基督教Clauß

嘿,首先谢谢你的文件!
我把一个数字导出到*有问题。每股收益while using FontName 'Times' in Label and axis....

导出的*.每股收益image is always the same size and not depending on figure size.

我使用的Matlab版本是R2015a。
有什么建议吗?

问候与感谢

Arabarra

阿恩·齐默

你好,

谢谢你提供这么好的文件!

但有一点:我使用R2015b。我复制了crop_borders。米,export_fig。米,print2array。M和using_hg2。m到我的matlab文件夹,然后我使用这个命令:
Export_fig test2.tiff -native

文件test2.tiff在两个方向上都比原始文件大2像素!!

是不是少了什么??我的错误是什么?

提前谢谢!!

佩德罗Mateus

我喜欢这个项目。只有一件事,当我试图导出到eps或pdf时,我收到一个消息“export: Command not found.”但一切都完成了…

最好,佩德罗

伊凡

Manuel Steinbrecher

首先:我喜欢你的剧本Yair,它很棒,我经常用它!它真的能产生漂亮的数字!

其次,我最近遇到了一个问题。我目前正在写我的论文论文,所以我想我所有的pdf在CMYK色彩空间,这工作很好,我做的第一个数字(我认为至少)。
但是对于另一个图形,我遇到了麻烦,因为它似乎没有将PDF内容保存在CMYK空间中。我不知道如何检查它(只找到昂贵的工具),但当我在Illustrator中的CMYK颜色空间中打开它,颜色发生了巨大的变化…当使用这些参数(-pdf -cmyk -r300)执行脚本时,我得到以下警告:

警告:检测到多个图像和线。在这种情况下,这条线可能会
由于MATLAB内部错误(在R2014b中修复),显示无效的颜色。
可能的解决方法:在export_fig命令中添加'- depc '或'-opengl'参数。
在printt2ps在232
在print2array的110
打印码394
在export_fig中625
在MYFILENAME的311中

是的,我正在使用R2012b,因为我们有一些旧的代码在Matlab的新版本中不能正常工作。你觉得这可能是个问题吗?或者还有其他想法吗?可能性?

非常感谢你的帮助:)

最好的
曼努埃尔

Marc Crapeau

非常珍贵的工具,非常感谢。

如果它能帮助人们:我在使用映射工具箱的函数创建的图形上使用export_fig时遇到了一个问题。我绘制的海岸线和我的数据在matlab图中是可见的,但在export_fig创建的文件中是看不到的。为了解决这个问题,我使用uistack函数将海岸线推到图的顶部。例如:

line_coast =负载(“海岸”);h_cl = plotm (line_coast.lat line_coast.long,“k -”);
在这里插入复杂的映射工具箱绘图操作
uistack (h_cl,“顶级”);
export_fig(“my_files.png”)

伊凡

rahmouni

哈拉尔德Enzinger

我要感谢原作者和当前维护者的出色工作。对我来说,export_fig是必须的!

在电气工程或相关领域写论文的人也可以利用bibget。这是我编写的一个工具,可以轻松地从IEEE Xplore检索BibTeX条目。

有了export_fig和bibget,写论文变得更有趣了!: -)

Youngmin哈

艾哈迈德Karakucuk

Yair,真不知道怎么感谢你来表达我对这次活动的感激之情。我用它来制作手稿已经有两年多了。

Niekjuh

在El Capitan上,我不能使用export_fig导出到eps。没错,这就是我得到的错误:

未找到Pdftops。请找到该程序,或安装xpdf-toolshttp://foolabs.com/xpdf

我还尝试按指示安装xpdf,但仍然存在同样的问题。有人能帮我吗?

在El Capitan上,我不能使用export_fig导出到eps。没错,这就是我得到的错误:

未找到Pdftops。请找到该程序,或安装xpdf-toolshttp://foolabs.com/xpdf

我还尝试按指示安装xpdf,但仍然存在同样的问题。有人能帮我吗?

Delyle波莱

西蒙·范·高普

伟大的脚本!你知道我如何导出一个表格中的面板吗?问题是没有保留面板的原始尺寸,而是取了表格的尺寸。

不确定这是一个错误还是故意的?有可能有一个变通方案吗?

neo

此提交不再(2014b以后)改善输出eps图的线条样式…由于该文件仍在更新中,作者应该检查此功能。

蒂娜福尔曼

我忘记添加正确的搜索路径了,对不起!在当前版本中,我不再得到警告。

抱歉上次发了两次…有办法删除评论吗?

JoseLuis

伟大的工具!谢谢你的贡献。我只是遇到了点小问题。我正在加载和修改一个360 × 360像素的图像。当我用export_fig导出它时,我得到了一个362x362的图像。你能给我一个提示吗?我在Windows 8中使用Matlab 2014b。谢谢!

蒂娜福尔曼

最近,当使用export_fig与boxplot和plot时,我在R2015b中得到以下警告消息:
警告:graphicsversion将在未来的版本中删除。
在using_hg2(第15行)中
在export_fig>parse_args中(第797行)
在export_fig(第216行)中

感谢伟大的文件,我已经使用它几个月了,我很兴奋:)。

蒂娜福尔曼

最近我在R2015中使用export_fig与boxplot和plot时收到以下警告消息:
警告:graphicsversion将在未来的版本中删除。
在using_hg2(第15行)中
在export_fig>parse_args中(第797行)
在export_fig(第216行)中

感谢伟大的文件,我已经使用它几个月了,我很兴奋:)。

大卫。

它在R2015b中工作得非常好。

丹·K

卡洛斯就

卓越的贡献。我有问题(surfc,meshc)没有生成的向量。当我使用冲浪如果生成。任何解决方案?。非常感谢您的合作

vthuongt

除了使用bar()或histogram()生成的图之外,绘图工作正常。
在那里我不能得到任何透明的pdf文件与矢量图形。
我使用的命令是:
Export_fig (' history .pdf','-pdf', '-transparent',图(1))

vthuongt

除了使用bar()或histogram()生成的图之外,绘图工作正常。
在那里我不能得到任何透明的pdf文件与矢量图形。
我使用的命令是:
Export_fig (' history .pdf','-pdf', '-transparent',图(1))

西康

当我想要得到一个透明的图形时,这很好。非常感谢!

劳拉

安迪Hueni

在安装Ghostscript-9.16后,PDF导出工作在Mac OS X El Capitan与R2015b。包裹从http://pages.uoregon.edu/koch/
不得不移动到这个包,因为我使用的Matlab fillPage和打印函数直到现在都在Capitan升级后搞砸了,不知道它是否也适用于Yosemite。

劳拉

我一直在使用这个函数来生成严格控制尺寸的文章级图形

实验后奥特曼

@ msh - export_fig在R2015b上运行良好。移除内置的Matlab ghostscript不会影响export_fig,因为export_fig并不依赖于它。可以直接安装ghostscript可执行文件http://www.ghostscript.com然后export_fig将使用它。

我提醒大家,我不会在这个评论区回应功能请求或bug报告-如果你有什么要求或报告,请使用Github的问题页面报告和跟踪你的问题:https://github.com/altmany/export_fig/issues

MSch

不与Matlab 2015b运行,因为:“Matlab不再与Ghostscript®图书馆。删除所有使用ghostscript.m的代码实例。”(见发布说明->图形->功能被删除或更改)

我会坚持使用2015a,直到有一个解决办法,因为我喜欢这个工具,特别是append_pdf函数:)谢谢!

大卫

我已经使用export_fig很长时间了。在切换到R2015b后,它抛出了一个关于使用过时函数的警告(我相信是graphicsversion),所以我得到了最新版本。这会产生一个无效的eps文件,因此eps2pdf会崩溃。预览也无法打开eps文件。来自ghostscript的错误报告是
使用eps2pdf错误(第107行)
错误:/undefined在bdef中
操作数堆栈:
dom——nostringval
执行堆栈:
%interp_exit .runexec2——nostringval-- --nostringval——
——nostringval——2% stopped_push——nostringval——
——nostringval-- --nostringval——false 1% stopped_push
1951年1 3% oparray_pop 1950年1 3% oparray_pop 1934
1 3% oparray_pop 1820 1 3% oparray_pop
——nostringval——% errorrexec_pop .runexec2——nostringval——
——nostringval-- --nostringval——2% stopped_push
——nostringval
字典堆栈:
——dict: 1194/1684 (ro) (G)——dict类型:0/20 (G)——dict类型:78/200 (L)
当前分配模式为本地
上次操作系统错误:无效参数
当前文件位置是64
GPL Ghostscript 9.16:不可恢复的错误,退出代码1

请帮助!

于关

精彩的代码

塞德里克Noordam

很好的工具,真的改善了我的图形的外观。到目前为止,唯一的事情是裁剪是打开或关闭的,没有选择只裁剪顶部/底部或左/右。我需要这在Latex文件中有适当的绘图框区域缩放。我不得不通过禁用crop_borders中的左/右裁剪来修复它。M文件禁用它的好。将是伟大的有特定的命令左/右/上/下裁剪或关闭。不过这只是一件小事。

本•韦伯

伟大的工具。

然而,当使用规范化单元定位文本对象时,在导出图形时,这些位置似乎不会被正确保留。我经常使用标准化单位,因为我发现这更直观。我在MacOS 10.9上使用Matlab 2015b(问题也发生在Matlab 2012b上)。

Asmund

我一直在努力解决透明度问题。现在问题终于解决了!谢谢你!

NenaV

Dimitrios Konstantinidis

你好,实验后,
print2eps已经用R2015b测试过了吗?字体映射似乎不起作用。

我有一个数字与时代字体(罗马和粗体)贯穿。我用print2eps制作了一个eps,但当我在MS Word中导入它并试图创建一个PDF文件时,我得到了这样的消息:
%%[错误:Times-Roman-Bold未找到。]字体不能嵌入。] % %
%%[错误:invalidfont;OffendingCommand: findfont]%%

栈:
/字体
/ Times-Roman-Bold

%%[刷新:作业的其余部分(到文件末尾)将被忽略]%%
%%[警告:PostScript错误。没有生成PDF文件。] % %

谢谢

斯科特•威廉姆斯

顺便说一下,1星的评分是个意外。我给这个文件打6/5分。

斯科特•威廉姆斯

我还注意到在使用export_fig时希腊字母扭曲了。我过去用-png格式导出压缩格式-m3。
导出到pdf文件消除了希腊字母的问题,并提高了情节的质量。

威廉

我一直在用它来创造情节,这很棒!最近我注意到它不能在标题中正确地创建希腊字母。Github上的另一篇文章指出了Matlab 2015a的同样问题。我在Windows 7上使用Matlab 2014b。有人知道为什么会发生这种情况或者如何解决吗?

谢谢你的帮助!

xinlu王

基冈摩尔

程joylin

程joylin

大卫MERCIER

大卫MERCIER

Jitin Beri

艾尔

这是伟大的工作为我除了使用它的功能放大图。//www.tianjin-qmedu.com/matlabcentral/fileexchange/26007-on-figure-magnifier

由于某种原因,当Export_Fig运行时,一些放大图的x轴变得难以辨认。这就像在x轴上加了几个小数点位它们都是重叠的。一旦Export_Fig完成,轴就会恢复正常。

这方面的任何帮助将不胜感激。

康里贝罗

这是我最喜欢的导出图形的工具。然而,我发现我不能导出有一定数量的alpha参数的标记(是的,我找到了一种方法来做它,也许你可以找到它,如果你在互联网上挖掘)。当我导出到eps时,背景阴影的效果在标记消失。我可以在标记中设置透明度的方法如下:

sMarkers = h1.MarkerHandle;%h1是行句柄
sMarkers。FaceColorData = uint8(255*[0;0;0;0.5]);第四个元素允许设置alpha
sMarkers。EdgeColorData = uint8(255*[0;0;0;0]);

mashtine

你好,

这是一个伟大的代码,但我似乎不能理解,当我尝试使用更大的字体大小的export_fig时,当我试图以更高的分辨率导出图形时,一个灰色框出现在我的轴标签上。这慢慢地把我逼疯了,我似乎在上面找不到任何东西。也许是我的显卡的问题?还是只有我?我用这样的例子:

Export_fig 'filename.png' -png -opengl -r150;

哈桑Naseri

这是一个神奇的工具。

感谢维护支持2014年和2015年的MATLAB版本万博1manbetx。

Vasilis Kapetanidis

至于张

我想知道为什么linux下的字体非常小?我试过gentoo和ubuntu,问题仍然存在。Matlab版本也经过了测试,但所有的字体都非常小。

谢谢

Deniz

Lavanya

嗨. .实际上,我使用这个代码去年保存为pdf和附加相同的无花果,它工作得很好..
但现在,当我尝试使用“追加”,不必要的补丁出现在追加的pdf文件。我使用的是MATLAB 2014b。你能帮我个忙吗?
否则,代码工作得很好!!出色的工作! !

史蒂芬

重要! !
非常感谢!

Jens Keienburg

解决了我与Matlab - LaTeX兼容的所有问题。

Ilya Belevich

太棒了!

艾伦•科尔

仅供参考。在5月13日的评论中,我通过临时打开Windows 7 UAC来纠正这个问题。当设置为none时,它可以正常工作。

约翰

约翰

R2015a, Mac Pro,小牛。导出到PNG。效果很好,修复了我的尺寸和剪裁问题。

艾伦•科尔

在新版本中,我收到以下错误:

警告:无法保存ghostscript安装路径。在C:\Program中手动输入
MATLAB文件\ \ altmany-export_fig-b32040d \ . ignore \ ghostscript.txt。

\.ignore\ghostscript.txt当前不存在。

彭徐

很好的工具

加布里埃尔Droulers

我导出的。png文件有问题。左边Y轴顶部的指数符号在png导出的图像中没有显示出来。有人经历过吗?
例如,我有一个值为0到5 "x10^-12"的图。指数显示在轴的顶部,但我尝试过的所有格式(eps, pdf, jpg, png)都没有显示它。

否则,干得漂亮!

路德维希

我在matlab 2013a中使用了这个工具,它工作得很好。在matlab 2015a中,具体的代码给出了一个问题,导出imagesc图形与色条。它总是显示一条白色对角线,从左下到右上。无论使用哪种配色图,都会发生这种情况。到目前为止,有人在2015年尝试过吗?

Ps:干得好

Ignacio Lucas Avila Mangano

对我来说效果非常好。

凯文Moerman

尼古拉斯·D。

Zulkifli希

Menno·珀

一个伟大的工具,导出我的数字到高质量的。eps文件。

biajia

导出Matlab2015a时。无花果"file to ".pdf", the edges are cut off, especially the right side.

谢尔盖·P。

simbaforrest

杰夫


我在使用matlab 2015a时有问题
下面是我的错误信息
谢谢你的帮助

使用eps2pdf错误(第107行)
错误:/undefined在bdef中
操作数堆栈:
dom——nostringval
执行堆栈:
%interp_exit .runexec2——nostringval-- --nostringval-- --nostringval——2% stopped_push——nostringval-- --nostringval——
——nostringval——false 1% stopped_push 1983 1 3% oparray_pop 1982 1 3% oparray_pop 1966 1 3% oparray_pop 1852 1
3% oparray_pop——nostringval——% errorrexec_pop .runexec2——nostringval-- --nostringval-- --nostringval——2% stopped_push
——nostringval
字典堆栈:
——dict: 1201/1684 (ro) (G)——dict类型:0/20 (G)——dict类型:77/200 (L)
当前分配模式为本地
当前文件位置是64
GPL Ghostscript 9.15:不可恢复的错误,退出代码1

export_fig中的错误(第433行)
Eps2pdf (tmp_nam, pdf_nam, 1, options.append,选项。colourspace = = 2, options.quality);

Lei叮

侯赛因沙利

atron

在Unix上将非标准屏幕大小的图形转换为pdf会失败
-----------------------------------------

我试图将非默认屏幕大小的数字转换为pdf:

%打开matlab图形文件
h = openfig_default (fig_file_name);

%更改图形大小为非默认大小
集(h,“单位”,“归一化”,“outerposition”,[0.1 - 0.1 0.5 - 0.5]);

%转换FIG文件到PDF
export_fig (out.pdf, pdf, h,“-nocrop”、“透明”,“画家”,“添加”);

这在Windows上工作得很好,但在Unix上pdf中的数字都有相同的默认大小。什么好主意吗?

妮可·鲁格

很好,但我有个问题。
我将附加一些pdf文件。
这个pdf文件有可变的文件名和路径。我得到以下错误:

错误:/undefinedfilename in (Auswertung_24-Mar-2015\\-2.2-\\2.2 _extraktiongte .pdf)
操作数堆栈:

执行堆栈:
%interp_exit .runexec2——nostringval-- --nostringval-- --nostringval——2% stopped_push——nostringval-- --nostringval-- --nostringval——false 1% stopped_push
字典堆栈:
——dict: 1191/1684 (ro) (G)——dict类型:1/20 (G)——dict类型:77/200 (L)
当前分配模式为本地
上次操作系统错误:没有这样的文件或目录
GPL Ghostscript 9.15:不可恢复的错误,退出代码1

谢谢你的帮助

comm@ZeoN

很好地达到了目的。谢谢!

Sagar

我找到了之前问题的答案:
Export_fig (' exportfig_paintings .png', '-png', '-painter ', '-r300');

它工作得很好。

Sagar

你好,
我曾经用这个程序成功地打印过matlab中的图形。但现在我遇到了一个问题。我试图打印一个使用geoshow在matlab测绘工具箱的高分辨率地图。但是,当我执行命令export_fig finename.png -r600时,文件被保存,但只打印轴标签,而不是整个图形。我仍然可以成功地打印其他几个图形,所以这个问题一定与映射工具箱有关。你能帮忙吗?
非常感谢。
sagar

鲍勃

帮了大忙,谢谢!

实验后奥特曼

@Aniket -是的,export_fig确实接受一个图/axes/uipanel的句柄

对于所有其他人-你需要在GitHub中报告这个问题,否则他们将不会被跟踪或修复:https://github.com/altmany/export_fig/issues

在提交新问题之前,请验证它以前没有报告过。

你好,

我和James Rankin在Matlab 2014b中有同样的问题:

使用eps2pdf错误(第107行)
错误:/rangecheck在definefont
操作数堆栈:
CMMI10——dict:14/15(L)——字体
执行堆栈:
%interp_exit .runexec2——nostringval-- --nostringval——
——nostringval——2% stopped_push——nostringval——
——nostringval-- --nostringval——false 1% stopped_push
1950年1 3%的oparray_pop
——nostringval——1934 1 3% oparray_pop 1820 1 3
%oparray_pop——nostringval——% errorrexec_pop .runexec2
——nostringval-- --nostringval-- --nostringval——2
%stopped_push——nostringval——1901 2 3% oparray_pop
字典堆栈:
——dict: 1188/1684 (ro) (G)——dict类型:0/20 (G)——dict类型:121/200 (L)
当前分配模式为本地
上次操作系统错误:无效参数
当前文件位置为90501
GPL Ghostscript 9.15:不可恢复的错误,退出代码1

export_fig中的错误(第442行)
Eps2pdf (tmp_nam, pdf_nam, 1, options.append,
选项。colourspace = = 2, options.quality);

fit_ramsey错误(第210行)
Export_fig (['fit_' filename], '-pdf');

不幸的是,他的方法对我不起作用。它在2012b上工作得很好,我不明白,因为我用的是标准字体……
无论如何,很棒的软,非常有用的科学作品!

Aniket Vagha

辉煌的工具!pdf格式的图像质量非常好。

我想知道在多个数字的情况下,我们是否可以使用export_fig时使用数字句柄?

Sauro Salomoni

伊丽莎白·琼斯

伟大的代码!它可以在R2014b中正常工作,并且创建了高质量的pdf文件,我可以用它来进行专业演示、海报和出版物。非常感谢您制作和维护这段代码。

Durga Lal Shrestha

我在南侧有一个水平方向的图例。当图例的框设置为“关闭”时,图例底部的一小部分也会在导出到eps和pdf时被裁剪(png没有问题)。盒子轮廓没有问题。这个问题在MATLAB R2014b中仍然存在。

其他人有类似的问题吗?

谢谢。

凯史

我在图中添加了一个矩形框,并将矩形框的透明度更改为0.3。然而,当我把图形导出到乳胶。盒子的透明度仍然是100%。使用和不使用-transparent选项都会显示相同的结果。生成方框的代码如下所示:

注释(rectSize肝癌,“矩形”,…
‘FaceColor’,‘r’,‘FaceAlpha’,0.3,……
“线型”、“没有”);

哈维尔裴瑞兹

谢谢你的这个库,它真的很有用!不幸的是,我对export_fig有严重的问题,特别是代码中的fileparts(tempname)部分,该部分指定程序用来创建/删除临时映像的临时文件夹。它试图为我们的一个用户使用system32文件夹,它给他访问违规错误和崩溃。我希望能够在他的计算机上指定我自己的用户指定的临时路径,他确实有读/写访问权。这不是工具的开箱即用功能,而是一个简单的可选添加,可以为我们省去很多麻烦。现在,我必须自己在export_fig副本上执行此操作。谢谢!

Tero

Tero

埃里克

詹姆斯·兰金

升级到Matlab 2014b(在Ubuntu 14.04中)后,我收到以下错误:
------------------------------------------
使用eps2pdf错误(第107行)
错误:/rangecheck在/findfont

...

export_fig中的错误(第442行)
Eps2pdf (tmp_nam, pdf_nam, 1, options.append,选项。colourspace = = 2, options.quality);
-----------------------------------------

我通过在eps2pdf中注释以下行来解决这个问题

Fp = font_path();
如果~ isempty (fp)
options = [options ' -sFONTPATH="' fp '"'];
结束

益杨

更具体地说,下面是示例代码。

图(1)
情节(1:10 0,1:10 0)
包含(频率(赫兹))
ylabel(衰减(奈培/ m))
集(gca、字形大小,16)
Export_fig test -pdf -transparent

益杨

你好,

首先非常感谢您提供了这么棒的工具箱!

然而,当我切换到Matlab 2014b时,我发现了一个错误。在Matlab R2014b中,当我使用工具箱生成pdf图为:

export_fig ConvEstimateatten -pdf -透明

图的边缘没有按要求裁剪。你能看一下吗?

谢谢!

丁丁Milou

你好,

我还有一个问题:如何将文件保存在另一个子文件夹中。我创建了一个子文件夹Fig,然后,尝试:

export_fig . . /图/ fig.pdf;

但这给了

使用eps2pdf错误(第107行)
GPL Ghostscript 9.10: **** Could not open the file ./Fig/ Fig .pdf ./
****无法打开初始设备,退出。

export_fig中的错误(第442行)
Eps2pdf (tmp_nam, pdf_nam, 1, options.append,选项。colourspace = = 2, options.quality);

我哪里做错了?

丁丁Milou

你好,

我对如何显示特克斯符号还是有点困惑。例如,我的一个标题是
标题(\ wπ^)
并正确显示在图中,但没有打印的pdf(在那里,我得到一个冒号的w次方)。我使用的是最新版本的texshop 3.49。
谢谢!

马丁

为了澄清,我试图使用export_fig(句柄)从GUI轴导出一个带有图例的情节。myaxis文件名)。图例没有显示。如果我从命令窗口绘制一个图例并使用export_fig保存该图,图例将正确显示。

马丁

优秀的功能!

然而,使用2014b,传说从我的情节中消失了。这在2014a中不会发生。2014b是否有一个变通方案或缺失的参数?

实验后奥特曼

@Ian Zammit -公用事业的更新日志列在这个网页的底部。

@Linh, Ruben, Iain -请在Github上创建相应的问题(在发布新问题之前,检查问题是否已经存在)。我刚刚获得了export_fig的维护所有权,我可能需要一些时间来深入研究并能够修复它们,所以请耐心等待。

@Ragheb -尝试更新你的ghostscript可执行文件到最新版本。可能您现有的可执行文件与您的平台不兼容,从而导致此崩溃。

巴特Boesman

灵阮

优秀的工具!非常感谢。它适用于大多数情况下,除了当我需要绘制和导出一个大的字段(200x300, pcolor)。有人能试着告诉我为什么我不能得到一个分辨率的图像吗?我得到的结果也在文件夹中:
https://www.dropbox.com/sh/41yxaivtfkf8uzn/AABm-AMXI-0zTGedz8IgMPb9a?dl=0

鲁本路易斯

杰出的贡献!
然而,在使用R2014b时,似乎发生了一些重要的变化。似乎不可能减少轴边界的厚度。你能建议一个变通的办法吗?

本·普特南

非常非常有用,而且很容易使用。

拉吉卜

当我使用“export_fig test.pdf”命令时,export_fig可以完美地处理小数字。然而,使用相同的命令,Matlab崩溃的大数字,它给我这个错误:
异常类型:总线错误(0xa) at pc=7fff887be082

此外,我尝试了export_fig测试。每股收益,but it does not even work?

非常感谢
拉吉卜

拉吉卜

当我使用“export_fig test.pdf”命令时,export_fig可以完美地处理小数字。然而,使用相同的命令,Matlab崩溃的大数字,它给我这个错误:
异常类型:总线错误(0xa) at pc=7fff887be082

此外,我尝试了export_fig测试。每股收益,but it does not even work?

非常感谢
拉吉卜

光诱导的

从我的经验来看,效果非常好!14年12月8日上传的版本有更改列表吗?export_fig和其他一些.m文件中的一个似乎没有更新

伊恩•

你好奥利弗,

感谢一个优秀的功能!

我使用当前版本的export_fig(今天),OS X 10.10.1, ghostscript 9.15和Matlab 2014b。当我设置一个数字并运行时,一切正常:

export_fig(帧,pdf, fh);

然而,如果我然后运行:

> >设置(大的“单位”,“归一化”)

我现在得到:

> > export_fig(帧,pdf, fh);
使用eps2pdf错误(第107行)
错误:/configurationerror在——setpagedevice——
附加信息:[/PageSize [0 0]]
操作数堆栈:
——nostringval(:边界框(% %大小)0 0 0 0)——dict: 1/2 (ro) (G)——nostringval—
——nostringval——(%%BoundingBox: 0 0 0 0) 1 0 0 false——dict:1/1(L)——
执行堆栈:
%interp_exit .runexec2——nostringval-- --nostringval-- --nostringval——2
%stopped_push——nostringval-- --nostringval-- --nostringval——false 1% stopped_push
1950年1 3% oparray_pop -nostringval- 1934 1 3
%oparray_pop 1820 1 3 %oparray_pop——nostringval——% errorrexec_pop .runexec2
——nostringval-- --nostringval-- --nostringval——2% stopped_push——nostringval——
%ztokenexec_continue(扫描器状态)——nostringval-- --nostringval-- --nostringval——
——nostringval-- --nostringval-- --nostringval——1913 10 3% oparray_pop
——nostringval-- --nostringval-- --dict:1/10(L)-- --nostringval——16% dict_continue
字典堆栈:
——dict: 1189/1684 (ro) (G)——dict类型:0/20 (G)——dict类型:81/200 (L)
当前分配模式为本地
上次操作系统错误:无效参数
当前文件位置是266
GPL Ghostscript 9.15:不可恢复的错误,退出代码1

export_fig中的错误(第442行)
Eps2pdf (tmp_nam, pdf_nam, 1, options.append,选项。colourspace = = 2, options.quality);

输出现在是一个空白的PDF。显然,我可以通过不调用来解决这个问题:

> >设置(大的“单位”,“归一化”)

也就是说,让export_fig对这种设置具有弹性是很好的。

干杯
伊恩•

雅罗西克

Panayiotis Christodoulies

伟大的工具!

史蒂文

你好奥利弗。对不起。我以前从未听说过GitHub。否则我就不麻烦你来问了。

我制造了一个麻烦。

谢谢你!
史蒂文

大卫·诺兰

总部图功能强大,急需发布。谢谢你,奥利弗。

冉阿让

抱歉,我从来没听说过GitHub。现在我看到它在下载Zip按钮上面。不熟悉。

奥利弗·伍德福德

菲利普:在GitHub上没有问题是绝对不可能的。

usr0815

当导出到这些格式:png, eps, pdf,…??

奇怪的是:如果我使用save PNG,问题就不会发生。export_fig (PNG)是发生的。所以我认为export_fig首先创建一个矢量格式,然后创建一个PNG格式,这可以解释这一点。

无论如何:我需要MATLAB 2014b的一些其他功能,并问自己是否有任何机会得到这个bug的修复?

奥利弗·伍德福德

冉阿让,R2D2:这是我第100次(我开始怀疑人们到底怎么了),我不处理评论里的问题。如果你想让我看看你的问题,提出一个GitHub问题,我们可以谈谈。

冉阿让

更新:export_fig工作良好的屏幕大小的数字时,我删除
“透明”的论点。

冉阿让

我想澄清一下我之前的看法。该脚本适用于正常大小的图形,但它无法解决的问题是屏幕的大小,如果这对诊断问题有帮助的话。
我创建了图形,然后使用以下代码行调整图形的大小:
h =图;
set(h, 'Position', get(0,'ScreenSize'));

成功保存的数字是那些没有调整大小的数字。
任何想法吗?

冉阿让

谢谢你的剧本,奥利弗。在过去的几年里,我一直在成功地使用它。然而,我最近从MATLAB 2009升级到2012b,我除了问题什么都没有。首先,我犯了和德里克一样的错误(发布于2013年6月7日)。所以,我刚刚下载了最新版本,重新运行。现在,我得到以下错误:

数组尺寸必须匹配二进制数组op。

export_fig中的错误(第283行)
alpha = round(sum(B - A, 3)) / (255 * 3) + 1;

SavePlotsFnc中的错误(第3行)

export_fig (strcat(目录名,“\”,sn、帧,. png), png,“透明”,figh);

请帮助!

R2D2

我在以前的帖子中放置了错误的错误消息。我从GS 9.10得到的信息是:
使用eps2pdf错误(第107行)
错误:/undefined在bdef中
操作数堆栈:
dom——nostringval
执行堆栈:
%interp_exit .runexec2——nostringval-- --nostringval-- --nostringval——
2% stopped_push——nostringval-- --nostringval-- --nostringval——false
1 %stopped_push 1900 1 3% oparray_pop 1899 1 3% oparray_pop
1883 1 3 %oparray_pop——nostringval——
% errorreec_pop .runexec2——nostringval-- --nostringval-- --nostringval——
2% stopped_push——nostringval——
字典堆栈:
——dict: 1177/1684 (ro) (G)——dict类型:0/20 (G)——dict类型:77/200 (L)
当前分配模式为本地
上次操作系统错误:无效参数
当前文件位置是64
GPL Ghostscript 9.10:不可恢复的错误,退出代码1

R2D2

@Oliver。尝试了ghostscript 9.10和9.15。既不工作。当前正在获取一个错误消息:
错误:File: ghostscript。m行:35列:1
这里不允许函数定义
上下文。

奥利弗·伍德福德

史蒂文:对不起,我得再说一遍。我不知道,除非你提出GitHub问题,否则我不会调查。谢谢。

史蒂文

谢谢你的精彩表演。对不起,我不得不再提一遍我的问题。

为什么当范围太小时,函数不能正确地在log-log图中保存数字?(它打印的是真正的值而不是10^…)

先谢谢你了。
史蒂文

奥利弗·伍德福德

R2D2:不幸的是,我无法修复Yosemite或Ghostscript中的bug。然而,如果你从这里安装Ghostscript 9.10:
http://pages.uoregon.edu/koch/Ghostscript-9.10.pkg
这对你有帮助吗?

R2D2

请修复阻止此包与Mac OS X Yosemite + Matlab R2014b工作的错误!

谢谢。

鲍勃

mac用户更新:我可能发现了这个问题。如果你安装了texshop,请确保你的版本是3.44。我单独更新了ghostscript,有问题,我更新了texshop,瞧,export_fig似乎像以前一样工作。推测:texshop安装程序做了一些单独的ghostscript包没有做的事情。

鲍勃

有人得到pdf导出工作yosemite/2014b吗?我使用的是Ghostscript 9.15。我会很感激你的工作安排。谢谢。

Yuewu

h1u1k1

如前所述,这个非常好的函数在MacOS (Yosemite) 10.10上不能与matlab2014b一起工作。

h1u1k1

因陀罗

我如何使用这个来保存多个文件?

BERDIN

卡尔·伍特斯

真的很好!
只差一件事:SVG
会喜欢一个真正的SVG创建者。

拉斐尔马德里

马丁

谢谢你的这个伟大的功能!只有一个问题:即使我使用-native选项,图像的最终分辨率与进入图像的矩阵的大小是不同的。例如,我有一个2048x2048的图像,但在使用export_fig(带有-native选项)后,它返回一个2052x2052的图像[目前使用'-m4 -bmp -native'作为选项]。如果我不使用这个选项,它会返回一个3176x3176的图像。

你有什么建议,如何让导出的图像匹配矩阵的大小?

迈克尔,亚当:当然你们中的一个人可以(a)阅读并(b)在github页面上提交问题,我会对此做出回应。你提供的东西我帮不了你。谢谢。

迈克尔

有了在OS 10.9.5和Matlab 2014a上完美工作的代码,我得到了与Adam完全相同的问题,但在OS X 10.10(最终版本!)与Matlab 2014b和Ghostscript 9.15…

请找点东西;-)

使用eps2pdf错误(第107行)
错误:/undefined在definefont
操作数堆栈:
CMSY10——dict:14/15(L)——字体
执行堆栈:
%interp_exit .runexec2——nostringval-- --nostringval-- --nostringval——2% stopped_push——nostringval-- --nostringval-- --nostringval——false 1
%stopped_push 1951 1 3% oparray_pop 1950 1 3% oparray_pop——nostringval——1934 1 3% oparray_pop 1820 1 3% oparray_pop——nostringval——
% errorrexec_pop .runexec2——nostringval-- --nostringval-- --nostringval——2% stopped_push——nostringval——1901 2 3% oparray_pop .runexec2——nostringval-- --nostringval-- --
字典堆栈:
——dict: 1188/1684 (ro) (G)——dict类型:0/20 (G)——dict类型:121/200 (L)
当前分配模式为本地
上次操作系统错误:无效参数
当前文件位置为71195
GPL Ghostscript 9.15:不可恢复的错误,退出代码1

export_fig错误(第435行)
Eps2pdf (tmp_nam, pdf_nam, 1, options.append,选项。colourspace = = 2, options.quality);

史蒂文

这个功能太棒了。
除了有时对我来说,一个问题出现时,出口!

在loglog图中,刻度写错了,我的意思是它们应该是10^(2)但它们是100。

奇怪的是,这只发生在y轴上,x轴是可以的!

我在网上查了很多,但找不到解决办法。我还不能通过改变tickmode为手动或等解决它。

还有其他解决方案吗?

谢谢!

史蒂文

乔治

彼得帕

埃里克

非常感谢你的出色工作

基督教

我遇到了Emma所描述的类似问题。然而,它工作良好的线宽>0.75 pt,但对于更小的线宽,线似乎设置为0.75 pt时导出,即当导出0.5 pt宽度的行(或任何值<0.75),它将导出为0.75 pt,当导出1 pt宽度的行(或任何值>0.75 pt),它将导出它们与正确的宽度。
这个问题在R2014a中没有出现。

亚当

非常有用的功能。然而,在Mac OS X Mavericks(10.9.5)的2014b中,我似乎遇到了一些问题。自从升级我得到以下错误每当我导出到eps:

使用eps2pdf错误(第107行)
错误:/typecheck在/findfont
操作数堆栈:
CMMI10
执行堆栈:
%interp_exit .runexec2——nostringval-- --nostringval——
——nostringval——2% stopped_push——nostringval-- --nostringval——
——nostringval——false 1% stopped_push 1916 1 3% oparray_pop
oparray_pop——nostringval——1899 1 3
%oparray_pop 1787 1 3 %oparray_pop——nostringval——
% errrexec_pop .runexec2——nostringval-- --nostringval——
——nostringval——2% stopped_push——nostringval——1868 1 3
% oparray_pop
字典堆栈:
——dict: 1184/1684 (ro) (G)——dict类型:0/20 (G)——dict类型:121/200 (L)
当前分配模式为本地
上次操作系统错误:无效参数
当前文件位置是90356
GPL Ghostscript 9.10:不可恢复的错误,退出代码1

export_fig错误(第435行)
Eps2pdf (tmp_nam, pdf_nam, 1, options.append,选项。colourspace==2,
options.quality);

这似乎是一个问题与ghostscript,但任何提示如何修复它将不胜感激!

谢谢!

艾玛

我非常喜欢这个工具,但是我在使用2014b时有一个问题。我导出的数字上的线条现在真的很宽了。在2014a运行的完全相同的代码是完美的,但新的线宽是不可用的。

费边Schrumpf

奥利弗:我不小心没有使用你最新发行的剧本。更新后,它在2014b和以前一样好。谢谢你!

逸生徐

这是一个很好的工具。我发现的唯一缺陷是导出矢量图像(pdf)的LineWidth和FontSize略大于MATLAB中指定的尺寸(例如,LineWidth变为0.735pt,不可调整;FontSize的10pt变成10.29pt)有办法修复吗?谢谢!

奥利弗·伍德福德

法比安:R2014b适合我。如果你有一个可复制的错误,我建议你提供我在github上的一个问题的代码。

费边Schrumpf

我喜欢这个函数,几乎每天都用它将Matlab图形导出为pdf格式,并在其他程序中对它们进行后处理。

然而,在Matlab 2014b Mathworks中引入了新的图形设计,导出到pdf/eps不再可能,给出错误:

使用eps2pdf错误(第100行)
错误:/undefined在bdef中
操作数堆栈:
dom——nostringval

我将高度赞赏,如果这可以固定运行与最新的Matlab版本。

费边Schrumpf

马尔特•

干得好,谢谢!然而,我面临着以下问题…我使用“patch”来绘图,使用“FaceAlpha”属性。导出后的背景是黑色(*.png,透明,opengl)。有什么想法?

中国科技大学

非常好!

Micke表示

罗伯特·理查森

罗伯特·理查森

M S

喜欢这个函数。.pdf/的透明度。每股收益would be *hugely* appreciated, I still use plot2svg when trying to save images with patch transparency.

范杨

很好!

还Biguri

这个文件交换应该作为一个特性添加到matlab中。很神奇的。

弗拉基米尔•

梁Haixiao

胡安·迪顿

mf0000

这个函数我可能很快就喜欢上了。然而,我在如何使它工作的问题上遇到了麻烦。我不觉得如何在mac, OS x上安装Xpdf如此直接,谁能帮助我一步一步地指导正确的安装命令在终端上?

凯伦

为ghostscript的系统版本选择位置对我来说不起作用。我在mac(10.9.4)上使用matlab 2014a。我的ghoscript安装是通过MacPorts,安装在/opt/local/bin/gs。我的默认shell是csh,不是bash。

我拿到了鬼剧本。m脚本通过更改mac特定的'export DYLIB…'命令(bash语法)到'setenv DYLIB....' (csh语法)。

我没有找到一种简单的方法来检查用户正在使用什么shell,但也许可以为此添加一些检查。由于需要设置环境变量的修复已经在您的代码中出现了大约一年,我怀疑没有多少用户将csh作为他们的默认shell,无论是在unix或OSX系统下。

我已经使用export_fig好几年了,很高兴在我的新笔记本电脑上重新使用它。

奥利弗·伍德福德

试试用我的sc包中的imsc吧。它不使用补丁对象,但仍然可以用任何你想要的颜色填充nan。

阿诺德

我经常使用imagescnan。然而,我不能将这些数字导出为pdf,因为在使用export_fig时,掩盖nan区域的白色补丁总是被丢弃。我似乎找不到保存补丁的方法。使用标准的pdf导出在这方面很好,但它非常笨拙....这就是为什么export_fig总是第一个:)

在没有在PDF中正确渲染的补丁中绘制透明度图(补丁被赋予纯色)。如何解决这个问题?

遗山

阿诺德

你好奥利弗,导出补丁和线或符号仍然有问题。
我可以使用uistack或uistack2从这里的文件交换,并获得良好的结果,但是,如果我导出PDF使用export_fig补丁总是在前面的一切。也许你可以调查一下,把它修好!由于阿诺。

美6月

有办法在编辑器的发布功能中使用这个伟大的工具吗?

那么,按下发布按钮就会生成一个带有此export_fig工具中的参数指定的图像和图表的报告?

剑锋曾

我不知道如何设置DPI和图形的大小
由export_fig输出。有朋友能告诉我吗?非常感谢!!

诺亚Levine-Small

Export_fig是一个救命恩人。不幸的是,我现在得到以下错误:
使用eps2pdf错误(第107行)
错误:/undefined在bdef中
操作数堆栈:
dom——nostringval
执行堆栈:
%interp_exit .runexec2——nostringval-- --nostringval——
——nostringval——2% stopped_push——nostringval-- --nostringval——
——nostringval——false 1% stopped_push 1932
%oparray_pop 1931 1 3 %oparray_pop 1915 1 3
%oparray_pop 1803 1 3% oparray_pop——nostringval——
% errrexec_pop .runexec2——nostringval-- --nostringval——
——nostringval——2% stopped_push——nostringval——
字典堆栈:
——dict: 1189/1684 (ro) (G)——dict类型:0/20 (G)——dict类型:77/200 (L)
当前分配模式为本地
当前文件位置是64
GPL Ghostscript 9.09:不可恢复错误,退出代码1
export_fig中的错误(第424行)
Eps2pdf (tmp_nam, pdf_nam, 1, options.append,
选项。colourspace = = 2, options.quality);

什么好主意吗?

Junghwan

非常感谢Oliver的出色代码。
我遇到了一个问题:
当以eps格式导出时,我对情节图例的所有调整都重置为默认值。

巴普蒂斯特

特里斯坦

感谢伟大的代码和ghostscript错误修复!它突然不再打印eps或PDF了,但现在又工作得很好了
..一个fif: export_fig(gcf,'filename','-eps')

斯文

你好,

非常感谢这些漂亮的代码。效果很好。
然而,有一个错误:不能在文件名中使用符号“%”:

当我输入:export_fig(f3, 'Post-Process estimate - diff. weight (+5 +10 +15)kg, Amp 10','-pdf','-q0','-a1','-r160','-nocrop') %最低质量,无抗混色,降低分辨率

它创建了一个漂亮的pdf。

然而,当我添加符号“%”在名称的末尾,即:Amp 10%我得到一个奇怪的错误消息:

> > export_fig (f3,后处理估计——diff.重量(+ 5 + 10 + 15)公斤,Amp 10%”,“pdf”,“q0处”,“a1”、“-r160”、“-nocrop”)
使用eps2pdf错误(第107行)
****无法打开初始设备,退出。

export_fig错误(第435行)
Eps2pdf (tmp_nam, pdf_nam, 1, options.append,选项。colourspace = = 2, options.quality);

一个错误?

Afif

有人可以提供一个极简的例子,如何出口和。eps图像使用'export_fi'?我真的很难使用它。先谢了。

更新到R2014b后,PDF的裁剪函数似乎不能正常工作。这是我的测试代码:
--------------------------------------
X = -100:0.01:100;y = -3.* X .^2-3.* X +4;
人物,情节(x, y, '——')
包含(轴),ylabel(轴)、标题(标题),传说(函数的)
export_fig(“fig1_q101_painters”、“pdf”,“-q101”,“画家”);
export_fig(“fig2_painters”、“pdf”,“画家”);
export_fig(“fig3_pdf”、“pdf”);
export_fig(“fig4_nocrop”、“pdf”,“-nocrop”);
export_fig(“fig5_png”、“png”);
export_fig (fig6_bmp, bmp);
export_fig(“fig7_jpg”、“jpg”);
----------------------------------------------
png, bmp和jpg正在裁剪完美。

班纳特的运气

目前最常用的功能,太棒了!

Preetham Manjunatha

非常有用的功能!

murat

雨果Mendonca

名Shahpari

名Shahpari

德克角

如果你写的文档需要matlab图形,这是一个必须有程序。

理查德。

首先,这个项目非常棒。但是…我在Windows 7上运行R2014b时遇到了问题。在创建了一个非常简单的图之后,我得到了这个错误信息。

错误:/undefined在bdef中
操作数堆栈:
dom——nostringval
执行堆栈:
%interp_exit .runexec2——noped_push——nostringval-- --nostringval-- --nostringval——2% stopped_push——nostringval-- --nostringval-- --nostringval——false 1 %stopped_push 1862 1 3 %oparray_pop 1861 1 3 %oparray_pop 1845 1 3 %oparray_pop 1739 1 3 %oparray_pop——nostringval——% errorrexec_pop .runexec2——nostringval-- --nostringval-- --nostringval——2% stopped_push——nostringval——
字典堆栈:
——dict: 1153/1684 (ro) (G)——dict类型:0/20 (G)——dict类型:69/200 (L)
当前分配模式为本地
当前文件位置是64
GPL Ghostscript 8.64:不可恢复的错误,退出代码1

我也很困惑为什么它使用Ghostscript 8.64,因为我已经安装了9.14,并在Ghostscript中更改了'path_ = user_string(' Ghostscript ');'。'C:\Program Files\gs\gs9.14\bin\gswin64c.exe');'。

现场

Debejyo Chakraborty

实际上出口矢量pdf,裁剪准确!谢谢你。帮我节省了很多时间。

丹尼尔

哇,多好的工具啊!省了我很多麻烦,谢谢!!!!

哈桑Naseri

伟大的新版本。最后,交互式情节的问题,例如“impoint”或“impoly”,得到了解决。:)

Christoph Gugg

很好,现在与OSX 10.9.3上的R2014b预发布版一起工作

豪尔赫

亚历山大

一帆

一帆

乔治

这正是我所需要的。这实际上让我在工作中有了一种顿悟的体验。非常感谢。

虹膜素SAJAN

棒极了! !:)

Seyed F Yousefian

太棒了!这正是我一直在寻找的。

mitilma

太棒了!这帮了我大忙,谢谢!

Rashmil Dahanayake

弄明白了。
file_name = sprintf (plot_ % d, x);
gcf export_fig (fullfile (file_name),“所”);

Rashmil Dahanayake

我试图使用这个脚本来自动绘制保存在数组中的所有列。假设我有一个3x2000的矩阵,我想绘制3个原始向量,并保存plot_1.png, plot_2.png和plot_3 png。我可以传递一个字符串变量export_fig。

代码:
%自动绘图器
t = 0: .001:2;
日元= 2 * sin(2 *π* t);
y3 = 2/3 * sin(2 *π* 3 * t);
日元= 2/5 * sin(2 *π* 5 * t);
Y = (y1, y3;日元);
真正的代码从这里开始
n =大小(Y, 1);
x = 1: n;
taggy = sprintf (C = % d mF, x);%的标题
file_name = sprintf (plot_ % d.png, x);文件名为plot_x.png
情节(t Y(1:));标题(taggy);
Export_fig file_name -m2.5;
结束

杰克bROUDY

export_fig导出图形到许多矢量和位图格式。

艾哈迈德

韦斯利·艾伦

cfwen

太棒了!

塞西莉亚

范杨

FF李

我必须说这是我用过的最好的MATLAB代码。它甚至可以在我的旧版本(7.0.4 R14) MATLAB上工作。非常感谢作者。:)

FF李

FF李

埃里克

最后给出了一个适用于MATLAB的完整的图形导出工具。我很感激地使用它从我的图形中创建高分辨率的向量,这是一件不容易用有用的方式完成的事情。

埃里克

最后给出了一个适用于MATLAB的完整的图形导出工具。我很感激地使用它从我的图形中创建高分辨率的向量,这是一件不容易用有用的方式完成的事情。

奥利弗·伍德福德

我重复一遍,请用电子邮件向我发送错误报告,而不是在这里发布它们。更好的方法是分叉存储库,修复bug,并创建一个pull请求。

哈桑:你的例子在我的系统上发挥了预期的作用。

阿尔瓦罗:请随意给我发一个最小的工作示例。

哈桑Naseri

1.谢谢你的伟大的工具,我使用它为我所有的图形输出。

2.一个问题:如果一个图包含一个“impoint”或“impoly”,或者可能是图像处理工具箱中的任何这些交互对象,那么export_fig的输出就不会显示它们。这个问题只会在导出一个坐标轴而不是整个图形时发生。我非常感激您的建议。

图()
句柄= subplot(1,2,1);
Impoly(柄,[1 1;2 2;1 2])
Export_fig ('test.pdf', '-pdf', '-transparent',句柄)

Alvaro

很棒的工具,谢谢!
我有以下错误传递uipanel到export_fig
名称'OuterPosition'不是类'uipanel'实例的可访问属性。(我使用matlab 8.1)

马特

艾登

塞缪尔·马赛

奥利弗·伍德福德

Jo:非常感谢你的错误报告。然而,我确实要求(在上面的描述中)人们把错误报告发邮件给我,而不是把它们贴在这里。

首先:很棒的工具!我经常用它。
第二:Matlab FileExchange注释快把我逼疯了:-)(应该偷看一下之前的评论)
第三:(我发布这篇文章的主要原因)我在脚本中遇到了一个小错误,如下所示:
1.创建一个图形
2.在内部创建多个轴
3.在每个轴上绘制imagesc
4.禁用轴标记(轴关闭)
5.在每个图像中画一个彩色矩形
导出将显示矩形除第一个轴外的所有部分为黑色

最小的例子:

图;
set(gcf,'Position',[0 0 1000 500]);
坐标轴('position',[0.0 0.0 0.5 1]);
24)显示亮度图像(兰德(24日);
轴了
矩形('position',[8 8 8 8],'EdgeColor','r','LineWidth',2);
坐标轴('position',[0.5 0.0 0.5 1]);
24)显示亮度图像(兰德(24日);
轴了
矩形('position',[8 8 8 8],'EdgeColor','r','LineWidth',2);
colormap灰色
export_fig(“tmp.pdf”、“pdf”);

祝福并提前感谢任何提示或线索!

哎呀,FileExchange的这个评论界面快把我逼疯了…忘记删除。*m在两个imagesc…为此我很抱歉:)

马丁

Pooya89

亚伦真的

抱歉的多个帖子,显然我不能评级,然后评论,没有它自动提交我的评级。
不管怎样,到目前为止很喜欢,谢谢!

我正试图解决两个奇怪的问题。首先,当我在Adobe Reader中打开pdf时,坐标轴上的负号标记显示为空框,这让我以为我的Adobe安装中缺少了一个字体包等;然而,当我在Ghostscript中打开pdf时,没有任何符号(负号或空框),只有每个轴勾上的数字。我今天刚刚下载了Ghostscript 9.10。

第二个问题是,当我以png或tiff格式导出时,代码似乎会移动文本框;例如,我添加到图中的轴标签和附加文本框的位置与我在代码中明确设置的位置不同,以及它们在MATLAB图(R2011a学生版)中的出现方式不同。

有任何线索或类似的问题吗?先谢了。

亚伦真的

Jesper

马里亚姆

解决我的问题困扰了我很长时间,因为我不能打印*.jpeg文件作为图形,我以前是复制*。将文件传输到另一台Windows电脑上,以完成通缉图片的打印。
当我得到这个函数时,Linux下的Matlab变得更神奇了!

非常感谢!

Sid

曼努埃尔

罗伯特·麦克休

奥斯汀菲特

输出很漂亮,非常感谢您花时间做这个。

肖恩

Chuntao丹

每个人的必备!高超的身材品质!对于Mac用户,ghostscript可以作为mactex - added包的一个组件安装在http://tug.org/mactex/morepackages.html

杰米•古根海姆

ANAND SARIT

Pdftops.exe没有在我的系统上运行。我有Windows 8操作系统…谁来帮帮我吧。

拉尔斯

这是一个伟大的函数!
从Fedora 18更改到另一个linux mint 15 (MATE)后,我得到下面的错误消息。你们有谁知道怎么修吗?我尝试了2013年6月26日Jannik的修复,但没有任何运气…

使用eps2pdf错误(第107行)
错误:/undefined在/findfont
操作数堆栈:
120 Helvetica ISOLatin1Encoding Helvetica Helvetica
执行堆栈:
%interp_exit .runexec2——nostringval-- --nostringval-- --nostringval——2% stopped_push——nostringval——
——nostringval-- --nostringval——false 1% stopped_push 1916 1 3% oparray_pop 1915 1 3% oparray_pop
——nostringval——1899 1 3 %oparray_pop 1787 1 3 %oparray_pop——nostringval——% errorrexec_pop .runexec2
——nostringval-- --nostringval-- --nostringval——2% stopped_push——nostringval-- --nostringval-- --nostringval——1868
5 5% oparray_pop
字典堆栈:
——dict: 1179/1684 (ro) (G)——dict类型:0/20 (G)——dict: 82/200 (L) - - - - - dict类型:97/160 (L) - - - - - dict类型:8/95 (L)
当前分配模式为本地
当前文件位置是7052
GPL Ghostscript 9.07:不可恢复的错误,退出代码1

export_fig中的错误(第406行)
Eps2pdf (tmp_nam, pdf_nam, 1, options.append,选项。colourspace = = 2, options.quality);

拉尔斯

尤里斯坎普曼

在Linux Matlab中为Libreoffice创建漂亮的图形时遇到了一些麻烦,这个工具工作得非常完美!

竖起大拇指!

奥利弗·伍德福德

琼恩:粗线没有问题。例如,
>> plot(rand(3), 'LineWidth', 4);
>> export_fig test -png -pdf
在我的个人电脑上运行正常。

Jonne

谢谢你的这个功能。我经常用它。

目前,我试图使用它的一个情节,其中包含线的情节与'LineWidth'> 2。问题是'export_fig'不会输出较粗的行。

我想知道这是否是一个已知的问题,是否有解决方案?万博 尤文图斯

Khoa Tran

我使用这个脚本与您的文件相结合,为期刊论文生产图表。干得好,谢谢!

调整图形的大小
W = 0.5;h = 0.5;%这对于双列格式很好
f = gcf;驶离码头(f)
w =圆(w * 1050); h =圆(h * 500);
尺寸=[0 0 w h];
集(f,“单位”,“像素”,“位置”,大小);

% %印刷
r = 300;
[name, path] = uiputfile({'*. PDF','PDF';每股收益','Vector based .eps';'*.jpg;*.tif;*.png;*.gif','All Image Files';'*.*','All Files' },'Save Image','/Users/Eric/Dropbox/Reports/');
export_fig (fullfile(路径、名称),f,“a1”,[- r, num2str (r)]); %,“灰色”、“-nocrop”

卡尔·埃斯本·波尔森

出色的工作!

奥利弗·伍德福德

Edison:将图的宽度设置为17.3cm,并使用export_fig调用中的-r300选项设置输出dpi。如果这个图形对于你的屏幕来说还是太大了,那就把图形的大小减半,把分辨率提高一倍。如果您希望tiff宽度在本例中为17.3cm,那么将位图作为export_fig的参数输出,并使用imwrite(将‘Resolution’选项设置为300)自己保存它。

爱迪生

作为MATLAB的一个基本补充,他们应该在未来的版本中包含它作为标准。太好了。

一个问题:export_fig是否总是使用屏幕上图形的尺寸作为指导?例如,我想将我的图导出为300dpi的TIFF格式,宽度为17.3cm。这相当于2049像素宽的图像,这将不适合在我的屏幕上。谢谢你的帮助。

艾玛

谢谢,谢谢,谢谢!

Saulo Meirelles

Zielinski Christelle

迈克尔

谢谢你们这么好的节目。它完美地再现了复杂的2D图形,这是我用其他任何方法都无法准确再现的。

伊恩

Remco Huizenga

首先:非常感谢这个神奇的工具和你为它所做的所有工作。非常感谢。

不过,我有一个小问题:
我试图导出a和b之间均匀分布的图,以。png格式。这显然意味着对于低于a且高于b的值,函数为零。在这种情况下,函数与坐标轴重叠,因此在导出的.png文件中不可见。它在MatLab图中。我是否遗漏了什么,或者是否有修复方法?提前谢谢

Jaap de Vries

我得到了它的固定,代码工作伟大!!
当我将背景设置为透明时,图形内部的部分保持白色,而轴外的部分变为透明,有什么提示吗?

问候,

傻瓜

奥利弗·伍德福德

Jaap:听起来像是你在用另一个同名函数来模仿MATLAB的print()。

Jaap de Vries

添加……

使用打印错误
输入参数太多。

Jaap de Vries

我真的很期待使用这个代码,但我一直得到以下错误…

export_fig test.jpg”

print2array错误(第140行)
Print (fig, renderer, res_str, '-dtiff', tmp_nam);

任何帮助都将不胜感激。

问候,傻瓜

Junghwan

沃纳

你刚刚救了我的论文…

公关

LDELBENE

令人惊讶,但它不能与透明冲浪图的eps或pdf文件。

Arttu Modig

非常感谢Johannes为Mac OSX dylib修复!

高内存开销。

BERDIN

jr !Menzinger

非常有用的工具,谢谢。

Agnethe

约翰内斯

Matlab2010

export_fig的长期用户。功能很好,谢谢!

今天有新机器。64位Windows 8.1, MATLAB 2013B。在机器上安装了最新的Ghoscript(9.1)。

函数ghostscript.m出现问题

在执行这个m文件中的代码:check_gs_path(path)时,返回一个零。

这导致软件询问ghostscript可执行文件的位置在哪里——我将它指向正确的目录,它无法找到它。

因此我不得不硬编码

path = 'C:\Program Files\gs\gs9.10\bin\gswin64c.exe';

之前调用check_gs_path(path),这是有效的。

这是怎么呢

谢谢

亚历山大

多谢。在发现这个之前,我浪费了很多时间复制图像,然后修剪

安东尼Liutkus

很好,而matlab不能=)谢谢

比尔

嗨,奥利弗,
如何使用它导出.emf文件?这可能吗?

马可

我在GUI中使用了export_fig。任何人想要创建一个按钮,保存特定的数字到他们的PC上的特定位置,请随意使用下面的代码(其中PLOTTAG是plot属性中的plot标签):

(文件,路径)= uiputfile ({* .eps”;“* . pdf”;“* . png”;“* . jpg”},“保存图”);

如果file ~= 0
获取文件名的大小
[空,filechar] =大小(文件);
%删除文件名末尾的文件类型并保存
Filetype (3) = file(filechar);
Filetype (2) = file(filechar-1);
Filetype (1) = file(filechar-2);
文件(filechar) = [];
文件(filechar-1) = [];
文件(filechar-2) = [];
文件(filechar-3) = [];

运行带有路径和文件名的export_fig命令,以及
%文件类型
export_fig (findobj(‘标签’,‘PLOTTAG’),[路径、文件],[“-”,文件类型]);

%消息框
h = msgbox({'Done!'; ";…
['文件',文件,'.]',文件类型,'可以在:'];路径},…
'Save Figure File','none','modal');
Elseif isempty(file) == 0
h = msgbox('未保存。',…
'Save Figure File','none','modal');
结束

将授予

我使用轮廓线的数字,因此我的数字是:坐标轴> contourgroup >补丁对象。

在我导出的图像中,我得到了带有所有文本标签对象的轴,但没有线。

我必须更改isolate_axes中的第97行。M从allchild()到findall()作为修复。我不知道这是否破坏了什么,但它不应该,因为findall只查找比传入的层次结构更低的所有对象,在本例中是坐标轴句柄。我丢失了组成图的补丁对象,因为allchild()只返回轴下第一级的对象。

DQ张

太棒了!

顺便问一下,如何设置分辨率?

Dun柯克

我得到这个警告使用export_fig(axes_handle):

警告:样式radiobutton的uicontrol回调函数在添加到UIBUTTONGROUP时会被覆盖。
在按钮组上使用SelectionChangeFcn属性。
在uitols .uibuttongroup. childaddedcbk 12
在copy无花果25
在isolate_axes在52
在export_fig中的181

彼得

嗨,奥利弗,大家好,

我经常用你的脚本来制作png。由于某种原因,我得到了不同的输出比,取决于x和ylabel?(这快把我逼疯了…)我不确定我做错了什么。效果不出现与Matlab打印函数…但是PNG不像预期的那么好。有人知道吗?

杰克

塞巴斯蒂安。

利亚

完美的工作!非常容易使用。确保您关闭了正在写入的pdf文件,否则您将得到一个GS错误。

奥利弗·伍德福德

Sanka:我怀疑这与export_fig无关,而是与您用来查看eps文件的软件有关。

Lennart:您可以为MATLAB图形设置默认的背景颜色,在export_fig之外。没有“透明”选项,但是帮助文本确实提到了一个“-透明”选项。

Lennart

伟大的工具!
然而,我希望导出到一个白色背景的pdf文件。然后我必须每次执行'set(gcf, 'Color', 'w');'。是否有一个永久的设置或可以设置的参数?
export_fig(fig_handle,'figure.pdf', 'transparent')

越南盾

Sanka

你好奥利弗,

伟大的文件,真的应该作为标准与MATLAB!只有一个问题,我有出口到。eps格式。图中的所有文本(轴、数字和图例文本)都以粗体输出。但对于其他文件格式(如pdf或tiff)却并非如此,在这些格式中,图形的显示与屏幕上完全相同。你知道为什么这种情况会发生在eps身上吗?

谢谢

费尔南多

詹姆斯

我刚开始用这个。我基本上只使用HG2。
当我试图运行您的示例代码创建。pdf时,我得到以下错误,使用HG2。

A = im2double(imread('pepper .png'));
B = randn(装天花板(大小(A, 1) / 6),装天花板(大小(A, 2) / 6), 3) * 0.1;
B =猫(3,克隆亚麻(B(:,: 1),(6)),克隆亚麻(B(:,: 2),(6)),克隆亚麻(B (:,:, 3), (6)));
B = A + B(1:size(A, 1),1:size(A, 2),:);
imshow (B)
>> export_fig test.pdf
使用eps2pdf错误(第107行)
错误:/undefined在bdef中
操作数堆栈:
dom——nostringval
执行堆栈:
%interp_exit .runexec2——nostringval-- --nostringval-- --nostringval——2% stopped_push
——nostringval-- --nostringval-- --nostringval——false 1% stopped_push 1932 1
%oparray_pop 1931 1 3% oparray_pop 1915 1 3% oparray_pop 1803 1 3% oparray_pop
——nostringval——% errorrexec_pop .runexec2——nostringval-- --nostringval-- --nostringval——2
% stopped_push——nostringval
字典堆栈:
——dict: 1190/1684 (ro) (G)——dict类型:0/20 (G)——dict类型:77/200 (L)
当前分配模式为本地
当前文件位置是64
GPL Ghostscript 9.10:不可恢复的错误,退出代码1

export_fig中的错误(第431行)
Eps2pdf (tmp_nam, pdf_nam, 1, options.append,选项。colourspace = = 2, options.quality);

当我不使用HG2时,我不会得到这个错误,但我需要一段时间从HG2转换回所有内容。你有解决这个问题的办法吗?

(注意,laprint似乎对HG2也不起作用。所以,这可能是HG2的问题,与你的文件无关。)

David:网格线是指定的宽度(通过设置轴线宽度),但段更短(没有选项可以更改这一点)。尝试使用更粗的网格线。

大卫

干得好,非常感谢!但问题是,我发现在打印时,唯一没有复制的对象是网格线。输出的网格线要模糊得多,几乎看不见。有办法解决这个问题吗?谢谢!

曼努埃尔

Mikolaj Magnuski

Mikolaj Magnuski

麦克斯,你试过了吗

export_fig(' /用户/ maxnorris /桌面/ test.png’,H);
或者:
export_fig(' /用户/ maxnorris /桌面/测试”,png, H);

?

马克斯

奥利弗,

我刚刚下载了你的代码,它似乎收到了伟大的评论。但我似乎无法让它工作……所有我想做的是保存一个图形窗口到我的桌面。

我有一个正在显示图像的图形。我将如何使用export_fig保存这个数字下的名称'测试'在png格式?

这是我所看到的:(H被设置为数字句柄)

> > export_fig(' /用户/ maxnorris /桌面/测试”,png, H)
使用打印错误
输入参数太多。

print2array错误(第140行)
Print (fig, renderer, res_str, '-dtiff', tmp_nam);

export_fig中的错误(第334行)
[A, tcol] = print2array(图,放大,渲染器);

杰夫

很棒的工作! !它比Matlab默认的导出系统好得多。非常感谢您为我们创建了这个伟大的功能。

克里斯汀•

Ozan它

以下是我的两点评论。

我说我正在使用“uiccomponent”为我的GUI。

实际上,我使用的是“GUI布局工具箱”。

很抱歉我误导了你们。

Ozan它

我意识到:

我使用“uiccomponent”为我的GUI。
在给出“打印”命令(export_fig)后,我的GUI发生了变化。

到底发生了什么变化?

1)所有“用户界面附加”。“空的”物体似乎消失了。

2)斧头中的图例变得不可编辑。

目前,这是我观察到的情况。

Ozan它

这似乎是一个伟大的应用程序,谢谢!

我有一个问题:

我用uiccomponent设计了一个GUI。M来自文件交换。左边是控件,右边是坐标轴。

当我试图导出这个轴的图像时,位图和向量格式会发生两种不同的情况。1)对于pdf,它只给我坐标轴,这是我想要的,但2)对于png或jpg,它也给我坐标轴左侧控制按钮后面的空白区域。

我想要一个位图图像只有轴。仅此而已。

你能帮帮我吗,奥利弗?

WurmD

你好奥利弗,
让我也来附和一下:“干得好!”:)

现在,我注意到一件事,你改变了网格线“-改进的线和网格线样式”
在我的图中是"无网格线"

如果有保持网格线如图所示的选项,并保持“改进的线和网格线”为默认值,那就太好了

我查看了代码,但不知道你哪里没有把网格线添加到pdf中

你会创建这样的选项(保持网格线)吗?你能告诉我怎么做吗?

干杯!

精彩的表演与奥利弗的快速帮助,仿佛在线交谈!使用'-a1'选项节省内存和运行时间,同时保持画质,如下所示:
集(gcf,“颜色”,“w”)
export_fig(文件名,png,“a1”、“-nocrop”)

奥利弗·伍德福德

蒂姆:你漏掉了-nocrop选项。

蒂姆·加勒特

功能很好,但有一件事我不清楚。我希望创建一个数字小册子,其中的页面大小和轴线位置都有精确的定义。如。
H =图;
Set (h,'units','inch ','position',[0 0 8.5 11]);

情节(x, y);
set(gca,'Position',[0.2, 0.2, 0.6, 0.6];

使用'print',我打印的图形被放置在我想要的页面内的确切位置(尽管有愚蠢的matlab问题)。然而,使用'export_fig',输出的是图的*only*。这个图不在一页之内。

我错过了什么?

谢谢。

埃德加Goederer

最后……好,谢谢!

亚历克斯·R。

伟大的计划。你可以通过读取注册表键"HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Artifex\GPL Ghostscript"(如果是64位的话)或"HKEY_LOCAL_MACHINE\SOFTWARE\Artifex\GPL Ghostscript"(如果是32位的话)来安全地检测Ghostscript。

使用Matlab的winqueryreg()函数或通过system()执行"reg"来读取Windows注册表。

再接再厉!

Yuanwei

伟大的工具。这正是我想要的。

问:当我导出1080p的图片,它给我一个1921x1081的图片在保存的jpeg。任何想法吗?谢谢

柯恩

功能强大,易于使用。如果你将分辨率设置在一个合适的水平,Png输出对于透明补丁来说是很好的。

托马斯

安德鲁Bazyk

阿里Abolfathi

乔治

亲爱的奥利佛,
谢谢你的这个有用的功能。总的来说,它工作得很好。但是当matlab_fonts列表中没有一种以上的字体类型时,该函数将给出错误:
print2eps错误(第97行)
Font_swap {3,a} = fonts{Font_swap {1,end}(1)};

看来等式应该是:
Font_swap {3,a} = fonts{Font_swap {1,a}(1)};

顺便说一下,你知道如何使用不在matlab_fonts列表中的字体类型吗,例如Garamond, Palatino Linotype?

谢谢你!
乔治

奥利弗·伍德福德

Igor:不能在调用export_fig时指定屏幕分辨率。但是,您可以用独立于像素间距的单位指定图形大小,例如“cm”。我建议你试试。

伊戈尔

伟大的脚本。
一个问题:我如何指定屏幕分辨率,同时保存图形为。eps?
目前,在具有不同屏幕分辨率(Matlab 2012a x64, Win7 x64)的计算机上,使用print2eps对相同的图会给出不同的结果(不同的比例)。万博 尤文图斯
谢谢你的帮助。

路加福音

石材博览会杨

山姆

Jannik修复了我使用ubuntu 13.04运行Matlab R2012b的问题(2013年6月18日报道)。

谢谢Jannik。真的帮了我大忙。

Jannik

我也得到一个ghostscript错误:

错误:/undefined在——definefont——
操作数堆栈:
mwa_cmmi10——dict:11/20(L)——Font definefont——dict:30/32(L)——unknownerror
执行堆栈:
%interp_exit .runexec2——nostringval-- --nostringval-- --nostringval——2
%stopped_push——nostringval-- --nostringval-- --nostringval——false
%stopped_push 1900 1 3 %oparray_pop 1899 1 3 %oparray_pop——nostringval——
1883 1 3 %oparray_pop——nostringval——
% errrexec_pop .runexec2——nostringval-- --nostringval-- --nostringval——2
%stopped_push——nostringval——1762 2 3% oparray_pop——nostringval——
——nostringval——1850 2 4% oparray_pop——nostringval——
字典堆栈:
——dict: 1173/1684 (ro) (G)——dict类型:0/20 (G)——dict类型:82/200 (L)
——dict: 1173/1684 (ro) (G)
当前分配模式为本地
上次操作系统错误:没有这样的文件或目录
GPL Ghostscript 9.07:不可恢复的错误,退出代码1

在Matlab 2013a和ArchLinux中使用export_fig。
我通过在执行gs之前清除LD_LIBRARY_PATH环境变量来解决这个问题

System (sprintf('"%s" %s', gs_path, cmd));

系统(sprintf(“出口LD_LIBRARY_PATH = " ";"%s" %s', gs_path, cmd));

在鬼剧本里。m文件。也许这将有助于解决其他鬼脚本问题。

Sanka

才华横溢的脚本。避免了我过去为获得出版质量的数字/图像所做的后处理,节省了很多时间。

山姆

伟大的脚本,但我更新了我的linux机器,现在我得到以下错误。有什么想法?

错误:/undefined在/findfont
操作数堆栈:
120 Helvetica ISOLatin1Encoding Helvetica Helvetica
执行堆栈:
%interp_exit .runexec2——noped_push——nostringval-- --nostringval-- --nostringval——2% stopped_push——nostringval-- --nostringval-- --nostringval——false 1 %stopped_push 1916 1 3 %oparray_pop 1915 1 3 %oparray_pop——nostringval——1899 1 3 %oparray_pop 1787 1 3 %oparray_pop——nostringval——% errorrexec_pop .runexec2——nostringval-- --nostringval-- --nostringval——2% stopped_push——nostringval-- --nostringval-- --nostringval——1868 5 5% oparray_pop
字典堆栈:
——dict: 1180/1684 (ro) (G)——dict类型:0/20 (G)——dict: 82/200 (L) - - - - - dict类型:97/160 (L) - - - - - dict类型:9/85 (L)
当前分配模式为本地
当前文件位置是10662
GPL Ghostscript 9.07:不可恢复的错误,退出代码1
使用imread错误(第368行)
文件“/tmp/tp0ad5cd83_0088_4c9e_9aa1_d189edc9c4ea.tif”不存在。

print2array错误(第95行)
A = imread(tmp_nam);

export_fig中的错误(第327行)
[A tcol] = print2array(图,放大,渲染器);

奥利弗·伍德福德

尼基:这在export_fig中很难解决。然而,一种解决方法是手动绘制网格线或轴包围框,以获得所需的顺序。

尼基

我想导出一个图形到。png格式,我想我的线类型和网格线被正确缩放,所以我必须使用'painter '渲染器。轴边界(“框”)在plot下导出,这意味着它被绘制的点覆盖。默认渲染器不会发生这种情况。
如果我把坐标轴图层改为top,边框就会出现在顶部,网格线也会出现在顶部。有没有一种方法,只有轴边界在顶部,而没有网格线?

谢谢你的剧本,奥利弗……我已经使用了很长时间,它填补了MATLAB的一个很大的空白。

xg

非常有用的

奥利弗·伍德福德

m_user:您可以通过传递句柄导出图中的特定轴,但是不支持只呈现轴的一部分—我不打算实现这一点。万博1manbetx我建议你使用新闻组或答案来找出你可能实现你想要的许多其他方法。

m_user

嗨,Oliver,“简短的”问题:我创建了一个带有句柄的GUI。轴in which a greyscale image is in the background and a colored, semitransparent image is in the foreground. Now I want to save this overlayed image but I have no variable which "points" to that overlay (so I can't write export_fig Test.fig). Is there another way (e.g. write export_fig gca..) to reference on the handles.axes? thanks in advance..

Anthi

谢谢奥利弗。我是编程的初学者。你的功能很好。

奥利弗·伍德福德

德里克:目前的版本修复了这个问题。

Anthi:在示例export_fig('C:/Users/Me/Documents/figures/myfig')中,"myfig"是名称。

德里克。

升级到2013a后,当使用export_fig保存带有透明背景的.png文件时,我得到一个错误。它在2012a运行良好。也许Matlab在2013a改变了一些关于写作的东西?有人找到解决办法了吗?在2013a有更新版本的export_fig可以保存带有透明背景的。png文件吗?

export_fig CouplingEfficiency.png -transparent -native
使用写入错误(第78行)
参数'alpha'验证失败,出现错误:
期望输入是以下类型之一:

双,uint8, uint16

相反,它的类型是单一的。

imwrite中的错误(第473行)
函数宏指令(fmt_s。write, data, map, filename, parampair {:});

export_fig中的错误(第281行)
imwrite(A, [options.name '.png'], 'Alpha', Alpha, 'ResolutionUnit', 'meter', 'XResolution',
res, 'YResolution', res);

安德烈Nych

丹妮拉索托

Anthi

伟大的功能!谢谢奥利弗。
我有一个问题。如何导出到具有特定名称的特定目录?

对于名字:
>> export_fig Alex

对于一个目录:

> > export_fig(“C: /用户/我/文档/数据/ myfig”)

但是我怎么把它们结合起来呢?
提前非常感谢

伊恩

卡迈勒

弗朗索瓦

很棒的脚本!在Windows下工作的很好,但我有麻烦使它与我的Linux安装工作。
下面是返回的错误:

使用eps2pdf错误(第107行)
g: /usr/local/share/matlab/R2013a/bin/glnxa64/libtiff.so。5:没有可用的版本信息(由/usr/lib/libgs.so.9要求)
错误:/undefined在/findfont
操作数堆栈:
96 Helvetica ISOLatin1Encoding Helvetica Helvetica
执行堆栈:
%interp_exit .runexec2——nostringval-- --nostringval-- --nostringval——2% stopped_push——nostringval-- --nostringval——
——nostringval——false 1 %stopped_push 1916 1 3% oparray_pop 1915 1 3% oparray_pop——nostringval——1899 1 3
%oparray_pop 1787 1 3 %oparray_pop——nostringval——% errorrexec_pop .runexec2——nostringval-- --nostringval——
——nostringval——2% stopped_push——nostringval-- --nostringval-- --nostringval——1868 5 5% oparray_pop
字典堆栈:
——dict: 1179/1684 (ro) (G)——dict类型:0/20 (G)——dict: 82/200 (L) - - - - - dict类型:97/160 (L) - - - - - dict类型:8/89 (L)
当前分配模式为本地
当前文件位置是7119
GPL Ghostscript 9.07:不可恢复的错误,退出代码1

发生了什么?

伊曼安萨里

奥利弗·伍德福德

阿诺德:我没有。请不要误解我的建议:)。ConvertPlot4Publication试试。

阿诺德

请不要误会:)
我将创建一个我自己的脚本结合它与‘fig’举例。
我只是出于好意,你的剧本很棒;)

奥利弗·伍德福德

export_fig的目标是导出屏幕上的内容。无论如何要编写一个脚本,使您的图形具有正确的大小、正确的行宽、字体等,然后用正确的分辨率调用export_fig。或者使用已经做到这一点的几个提交之一。

阿诺德

你好,
我有另一个提议:缩放数字

为了使'export_fig'对出版物更有用,如果你添加了将图形缩放到一定大小的可能性,那就太棒了。
例子:

Export_fig 'test.png' -w5 -h4 -r300

这将设置宽度为5”,高度为4”,然后以300dpi输出。
对于我们这些非美国人来说,如果你把尺寸加上公制单位(厘米)就更好了。

Export_fig 'test.png' -wm5 -hm4 -r300

然后将宽度设置为5cm等。

法尔辛德勒

李金坤邓

IMO应该内置到matlab版本中。

伊曼安萨里

Mingyao

你好,奥利弗,我注意到,对于一个包含5乘5子图的数组,裁剪并不总是发生。它使图形的左侧、顶部和右侧的空白保持原样,同时裁剪出底部空白。我该如何解决这个问题?非常感谢!

格雷格

伟大的功能集!我可以提出“eps2pdf”的改进吗?
为了修改最终的pdf方向,我不得不在第54行(在裁剪cmd之后)添加这个:

options = [options ' -dEPSCrop -c "<> setpagedevice"'];

也许方位可以作为输入参数给出?

的信息:
* -c "<> setpagedevice"——设置横向方向;
* -c "<> setpagedevice"——设置纵向方向;
* -c "<> setpagedevice"——设置颠倒的方向;
* -c "<> setpagedevice"——设置海景朝向。

格雷格

格雷格

阿诺德

乳胶配方被扭曲/放大和显示不正确,但它们在实际图中显示正确。

例子:
======================
文本(xpos ypos’$ $ \压裂{\α}{\ sqrt {2}} \ cdot ', num2str (1 e5)‘s $ $’,‘HorizontalAlignment’,‘左’,‘写成BackgroundColor’,(。7.9 .7], '解释器','乳胶');
======================
它在图中看起来是正确的,当使用export_fig时,输出图像(任何类型的)显示:

乳胶配方按比例放大=更大
公式的背景不会变冷(因为它没有缩放)
乳胶公式有问题,“2”放大了,但平方根没有

也许你也可以去实现它。让它对我来说有点没用,因为我通常必须在我的图例或注释中有公式。

奥利弗·伍德福德

Michael:注意,export_fig对矢量格式的补丁对象不透明。只支持透明背景。万博1manbetx

迈克尔

我很喜欢使用这个工具来导出透明向量化的eps,不幸的是,我运行的是Mac,我似乎需要pdftops。我得到这个错误消息:“没有找到Pdftops。请找到该程序,或安装xpdf-toolshttp://users.phg-online.de/tk/MOSXS/

不幸的是,建议的链接是死的,经过长时间的谷歌搜索我没有找到替代方案。有人知道有什么连接吗?

Wouter

每天使用此提交。应该并入Matlab!

昙花邹

太棒了!它提供了我所需要的!

阿诺德

不错的工作!

您认为您可以添加将图中的所有字体更改为特定字体的功能吗?当导出使用某种字体的出版物的数字时,将非常有用,以保持一致的外观。

阿诺德

劳拉

对不起。我的错。问题解决者。Export_fig工作正常:)

劳拉

嗨! !
非常好的工具!然而,我有一个问题到目前为止无法解决…这快把我逼疯了。Export_fig正在改变我的图形的大小,这样长宽比就改变了!有人能告诉我为什么或者如何避免吗?我需要精确地打印出它所定义的大小,

谢谢

Wouter

LY曹

伟大的工作!
但我发现了一些问题:
散射(兰德(10,1),兰德(10,1),50);
export_fig (1. png, gca)
1.png中的坐标轴是空的。
matlab函数allchild找不到类型为“hggroup”的句柄的子句柄。散射hggroup)。
我修改了isolate_axes.m中的allchildren函数:
函数ah = allchildren(ah)
Ah = allchild(Ah);
如果iscell(啊)
Ah = cell2mat(Ah);
结束
啊=啊(:);
对于I = 1:numel(啊)
如果比较字符串(get(啊(我),“类型”),“hggroup”)
t = allchildren(啊(我));
Ah (end+1:end+numel(t)) = t;
结束
结束
返回
这招奏效了。

Sauro Salomoni

大卫Verrelli

嗨,奥利弗,
我使用TMW工作人员建议的无文档“硬拷贝”功能,尝试使用相关命令将数字复制为高分辨率位图
例如硬拷贝(hF_StatsAVI, '-Dopengl', '-r100')
相比之下,您的函数使用起来更方便,文档记录也更好。

我用它来保存PNG文件与白色或透明的数字背景。然而,当运行相同的命令,之前已经成功开始输出黑色背景的图像时,我感到困惑,尽管我的设置
集(gcf,“颜色”,“白”);
问题似乎是需要在“复制选项”对话框中的“编辑”下的“使用图形颜色”中手动选择。
我通常想要产生一个元文件与“透明背景”时,_copying_的数字,除了一些顽固的情节;因此,我通常不会选择“使用图形颜色”。
我想也许可以通过编程来切换,但是命令
set(gcf, 'InvertHardCopy', 'off');
没有效果。

无论如何,这些问题似乎指向MATLAB的缺陷,而不是你的代码。

~ ~ ~ ~ ~

顺便说一下
集(gcf,“颜色”,“没有一个”);
生成以下消息:
“警告:在未来的版本中,将一个数字的ColorSpec设置为‘none’是不允许的。”
它现在仍然有效,我个人更希望它继续有效。我希望它能被替代,而不是被移除。

div

马克斯

如果有人关心:用“circ”代替“°”解决了我的问题。出口现在罚款:)

马克斯

我喜欢和使用这个很多,谢谢提交!
然而,度符号(°)是我的一个图上的轴标签的一部分,它没有出现在向量化的PDF中。这是一个已知的问题吗?对于如何处理有什么建议吗?
在这里发现了类似的问题:http://modb.oce.ulg.ac.be/mediawiki/index.php/Matlab/Octave_scripts#Incomplete_satellite_images
也许他们是有关系的……

阿里Hummos

杰出的!

丹玻色

马克斯

Dmytro

伟大的东西,绝对必须拥有!经常使用它。

我还想报告一个次要的,虽然有时很烦人,包:
当与zbuffer一起使用时,抗锯齿在LaTeX文本中不能很好地工作,它会破坏文本并改变其大小和形状。要看到这一点,尝试导出一些带有3d表面和一些乳胶渲染标签的图形("export test.tiff -a2 -zbuffer;")。如果这个问题能解决就太好了!

趁Miklic

很棒的软件。科学出版的必备品!

非常感谢。非常有用和有启发性!

燕江

科学研究人员的必备品!

萨尔曼Mashayekh

基督教

export_fig正是我所需要的。

我必须更改文件user_string。M,因为它写设置失败。MATLAB说“error: error using ==> fwrite: Invalid precision.”,所以我用fprintf替换了fwrite。

修正可以在这里找到。
https://www.dropbox.com/s/g139kxk08845qxa/user_string.m

托拜厄斯Lamour

Oubeid,

如果你读了上面所有的描述,你会发现结尾有以下几行:
使用例子可在以下网址找到:
http://sites.google.com/site/oliverwoodford/software/export_fig”

如果你跟随Oliver的链接,你会在页面末尾找到下面的例子,它正好提供了你想要做的:

变量文件名:

对于a = 1:5
情节(兰德(5,2));
export_fig (sprintf () % d.png情节,);
结束

好运!

Oubeidillah

感谢分享这个有用的程序。
一个简单的问题:
我在循环中保存多个具有不同名称的数字。是否可以使用一个动态创建的名称,取决于循环迭代的值,如['name' int2str(i)] -jpg ?

谢谢

Oubeid

RP

奥利弗,你可能是对的。我可能在较早的版本中做了更改,以便让我的cygwin安装与它一起工作(然后忘记了它)。谢谢你采纳了这个改变。这将使它与cygwin很好地工作。

拉蒂什:代码以前从来没有像你说的那样。但是,我会实施你建议的改变。

迈克尔:目前还不支持。万博1manbetx我会考虑实施的。

迈克尔

先生,
功能真的很好,干得好!

我试图导出一个uipanel,其中包含多个plot /轴。函数只能传递句柄或轴。有什么方法来传递一个uipanel吗?

问候,

迈克尔

Bahaa

RP

最新版本(2012年11月5日)打破了ghostscript在cygwin中的使用。

在内容。M,下面这一行
如果ispc
Bin = {'gswin32c.exe','gswin64c.exe', 'gs'};
其他的……

变成了
如果ispc
Bin = 'gswin32c.exe','gswin64c.exe'};
其他的……

这使得export_fig无法在windows上使用与cygwin一起打包的ghostscript。
将'gs'恢复到数组可以解决这个问题。

大学Dschang

你好,我想用matlab读一个gridgen软件的grd文件,谢谢!

乔纳森

Anoosha papireddy

zhr

阿莱格:试着用
东方的肖像
export_fig之前。这对我有帮助,但我现在不能测试你的代码。

奥利弗·伍德福德

阿莱格:文件描述的第二句是“图/轴在屏幕上重现”。此外,在丰富的帮助文本中也没有提到“PaperOrientation”选项。

Aleg

我试图创建一个pdf文件的数字,它总是创建文件横向。不管我设置了什么参数。代码示例:

图(“PaperSize”,[20.98404194812 - 29.67743169791]);
情节(AvgIndustryLP(1:结束,1),' g ');
set(gcf, 'Color', 'w');
export_fig(“PaperOrientation”、“肖像”,“test.pdf”)

有人知道如何在export_fig中为pdf定义纸张方向吗?

谢谢

塞萨尔

出于某种原因,显式指定-r150选项解决了这个问题。然而,由于export_fig在生成eps文件时不传递-r参数,我通过在401行周围添加如下代码对其进行了修改:
p2eArgs = {renderer};
如果选项。放大~= 1
p2eArgs = [p2eArgs {['-r',num2str(options. txt)]放大*得到(0,' ScreenPixelsPerInch ')))});
结束

当然,这只解决了我的问题,可能需要验证。

这很奇怪,因为根据文档,“print”默认使用-r150。

谢谢你的精彩剧本!

塞萨尔

伟大的工作!!
只有一个问题。
我也使用addTopXAxis。m(文件ID: #9046)添加第二个x轴,并在图的顶部添加标签。
当我使用您的脚本保存到PDF文件时,第二个x标签没有打印出来。
关于为什么会发生这种情况以及如何纠正它,有没有什么提示?

谢谢你的好剧本。

长阮

艾伦•陈

masiat

是啊!文件交换上最好的提交!它让我很开心,让我在完成博士论文时从桥上跳了下来。
这似乎是*唯一的*方法出口数字在一个合理的分辨率没有*非常奇怪的网格线。作者做了一项优秀的工作,这是从事数学工作的人多年来不知怎么错过的!

Cahaya

MikeStein

不可或缺的工具! !我确实有一个问题,保存矢量图有重叠的线。当我保存到pdf或eps(而不是png)时,白线变成了深蓝色。下面的代码演示了:

数字
显示亮度图像(峰(128))
抓住
Plot (1:8 8, 1:8 8, '-w', 'linewidth', 2)
推迟
export_fig(“画家”、“r600’,‘-q101’,‘test.pdf’)

胡安Cardelino

马尔科姆·哈德逊

约翰

很棒的剧本,谢谢你的工作!

柯恩

一个很棒的文件。这比原生的matlab函数好多了!现在我终于可以为出版物打印数据了,而不需要大量的重新编辑和调整,使它们看起来恰到好处。

奥利维尔

卡尔

twimmeh

dbdq

感谢这个实用工具,现在我可以导出我的背景与本机分辨率的图像!非常感谢!

dbdq

感谢这个实用工具,现在我可以导出我的背景与本机分辨率的图像!非常感谢!

神道教的神

神道教的神

劳伦特

萨姆·约翰逊

这个函数是一个救命稻草。我现在使用它为每个出版准备的数字,因为输出是完全一样的,我看到它在MATLAB,有时甚至更好!

谢谢你!

詹姆斯Gwilliam

是否有一种方法可以在来自export_fig的PDF文件中包含一个URL,该URL将作为生成的PDF文件中的活动超链接工作?

鲁道夫,

工作很好,功能也很好。!
是否有一种方法导出pdf/eps与-透明选项,但没有画家渲染器?

将丰

找到了我的问题的解决方案和额外的帮助:
https://sites.google.com/site/oliverwoodford/software/export_fig

米甲Ficek

好工作!终于如我所料了。谢谢!

将丰

这个包非常适合导出数字。
然而,我有一个问题。
我如何导出几张图片?
因为无论我在“export_fig”后面放什么,都会变成一个字符串,所以我不能包含一个随一个变量增加的名称。

有人能给我一个解决方案吗?

非常感谢。

将丰

大卫•王

我发现export_fig在linux盒子上创建的pdf图(4面板pcolor图)在我的macbook pro (mac os x雪豹)的预览中呈现非常慢。有人遇到过类似的问题吗?我想知道问题的原因是什么。pdf格式的数字不是特别大(每个大约5 MB)。谢谢。

Sandrine

拉坦

托德卡琳

你好奥利弗,

我有一个40x40像素的图像。在matlab图形窗口中,像素是清晰地彼此分离的,但我不能让您的代码导出一个像素完全分离的pdf。您有任何建议,如何保存的数字,正是它是在matlab图形窗口?要明白我的意思,试着:

数字
显示亮度图像(峰值(40))
export_fig(“test.pdf”、“-q1000”)

洁西卡林

小国王

令人印象深刻的是有效的。
但是,它不能导出透明补丁的线宽变化,即使是png格式。

谢谢

瑞安

做得好-健壮,不断更新和工作伟大!

奥利弗·伍德福德

Pavel:将图形大小设置为您想要的输出大小,例如3x4英寸。然后在对export_fig的调用中指定您想要的输出分辨率。简单。

帕维尔

我看到所生产的问题的像素大小或英寸大小一直是讨论的主题。到2012年7月情况如何?我发现无论我怎么尝试,我的PNG显示出来的大小都是一样的(以英寸为单位)。然后,如果我把它缩小,线条艺术和文本也会受到影响。

我想要的行为如下:我可以指定大小(例如3"x4")和分辨率(例如200 dpi)。文本大小按比例进行了调整,使其看起来与图中相同。线条艺术的粗细也是如此。然而,分辨率越高,线条的质量就越高(我想是通过影响混叠)。

这是可行的吗?我愿意进入代码并修改它。

谢谢你这么好的剧本。

帕维尔

我看到所生产的问题的像素大小或英寸大小一直是讨论的主题。到2012年7月情况如何?我发现无论我怎么尝试,我的PNG显示出来的大小都是一样的(以英寸为单位)。然后,如果我把它缩小,线条艺术和文本也会受到影响。

我想要的行为如下:我可以指定大小(例如3"x4")和分辨率(例如200 dpi)。文本大小按比例进行了调整,使其看起来与图中相同。线条艺术的粗细也是如此。然而,分辨率越高,线条的质量就越高(我想是通过影响混叠)。

这是可行的吗?我愿意进入代码并修改它。

谢谢你这么好的剧本。

亚历山大·法利

第一次尝试效果如预期。

法比奥戈里

很有帮助!但是当我的ylabel比y轴长时,它不能正确剪裁。

太棒了。我已经用了好几年了,效果非常好。您在屏幕上看到的就是您在导出的图中得到的。

为什么Mathworks不能开发和实现如此有效的东西,这对我来说是一个谜。我想只要你愿意免费做,他们就不必……

非常感谢

rito

非常有用的一组代码!超级井文档和易用性。谢谢。

凯文Moerman

我有一个半透明的表面(三角化的补丁数据和渲染器是opengl),上面有曲线(plot3线)。当我使用:
export_fig(“temp.png”、“r100中”);
为了创建图形,作为分辨率的函数,线条相对于图像内容变得更细。增加线宽似乎没有效果。有办法来固定/设置线条粗细吗?

谢谢

哈维尔

你好,

当我在png保存一个数字灰色边框出现,我如何避免这?

谢谢你!

马修

保存矢量图形最好的软件包。强烈推荐!

Hamidreza Nourzadeh

在保存高分辨率的数据时遇到了麻烦,因为似乎没有内置函数允许这样做。这个用户创建的功能很棒。我有一个关于export_fig的“-native”选项的查询。似乎人们必须自己指定所需的高分辨率。

Haonan陈

好工作

黄显关

黄显关

谢谢,效果很好。我尝试过mat2pgf, mat2tikz, fig2texps, mlf2pdf,没有一个工作与一个复杂的数字我有。这很完美。

安东尼·C

非常感谢分享这个强大的功能。

b

你好,

这是我第一次尝试使用off exchange。
我已将压缩包内容复制到当前文件夹中。它仍然提示无法找到函数。即使在再次添加路径后,它不能找到pdftops,即使我在目录中看到它。

因为我需要透明度,我不能使用画家或zbuffer。那么,我应该期望使用这组工具提高质量吗?

同时,我如何保存一个pdf格式的图形,而不是一个页面?

干杯

约翰

我想知道是否有人发现了使用export_fig自动将图形粘贴到word文档的好技术。我经常使用save2word,但一直不知道如何将两者连接起来。另外,我一定是在分辨率上做了一些错误的事情,所以如果有人有一个很好的例子,如何获得良好的分辨率(对于。png也许?)我很感激你的建议。

b

你好,

这是我第一次尝试使用off exchange。
我已将压缩包内容复制到当前文件夹中。它仍然提示无法找到函数。即使在再次添加路径后,它不能找到pdftops,即使我在目录中看到它。

因为我需要透明度,我不能使用画家或zbuffer。那么,我应该期望使用这组工具提高质量吗?

同时,我如何保存一个pdf格式的图形,而不是一个页面?

干杯

奥利弗·伍德福德

none:当前字体区分大小写。使用“符号”。

Matlab2010

你好奥利弗。

很棒的代码。我已经用了很多年了。

我想我可能发现了一个bug:

我在win7(64位)上运行MATLAB 2010B。

如果你跑步:

图;
T = 2048;
x = randn (T);
情节(x)
set(gca, 'YTick', [-1 0 1])
Str2 ={'-p' ' 0' '+p'};
str2集(gca,‘YTickLabel’,‘字体名’,‘象征’);
export_fig(“D: \测试”、“pdf”);

您可以看到export_fig将符号“反转换”为纯文本,并将其导出为纯文本。

中方对此有何评论?

我也在matlab网站上发布了帖子,这样其他人也可以看到。

最好的祝愿

斯科特·奥特森

方便的!一个建议:如果输出目录不存在,提出创建它。我预期会这样,因为它已经为不同的文件类型创建了目录。

山姆p

伟大的工作! !

雅诗

雅诗

很长一段时间以来,我一直很沮丧,因为保存。fig’s会导致(出于某种原因)3D大小的图像与原始图像的大小不一样!这个功能太棒了,谢谢!

安德烈

Bosheng

我喜欢透明!!

尤里K

谢谢你,奥利弗。我通过使用colormap中的颜色解决了这个问题。谢谢你最好的投稿。(刚发现我还没给它打分。)

奥利弗·伍德福德

尤里:拜托,这里不是bug报告的地方;请直接给我发邮件查看我的评论。我已经在export_fig网页(顶部的链接)中添加了关于这个问题的说明。

尤里K

奥利弗,如果我设置了facevertextdata属性,我将条形图导出到PDF格式会有问题。输出没有图,只有空轴。

下面是一个代码示例:
Hx = bar(rand(10,1),'hist');
FVCD = 0 (10,3) + 0;
Fvcd (1:5,:) = 0.5;
集(hx,‘EdgeColor’,‘没有’,‘FaceColor’,‘平’,‘FaceVertexCData’,fvcd)
Export_fig test -pdf

雅罗斯瓦夫Tuszynski

非常有用的函数。我发现它在为PowerPoint制作图片时特别有用,这些图片小到可以通过电子邮件发送。

布雷克理查兹

Umberto

哇,太不可思议了!最后,找到一个函数打印裁剪矢量质量数字的漫长而艰巨的旅程是完成的。如果可以的话,我会给6颗星。太感谢你了,伙计。非常棒的工作,非常感谢。

Bijesh

非常感谢!

伊戈尔

目睹了

伟大的工作!

乍得格林

太好了。这对我的ppt演示产生了奇妙的效果。

Wonsang你

精卫顾

凯文Moerman

我已经测试了一些补丁图形和pdf导出。如果我只是使用:export_fig test.pdf,那么对于交叉的补丁对象(没有透明度),它有时会把错误的补丁对象放在前面。

除此之外很好。

乔治•

肯•坎贝尔

当我有问题联系奥利弗时,他帮了我很大的忙。他的页面
http://sites.google.com/site/oliverwoodford/software/export_fig
还提供了许多有用的提示。

奥利弗·伍德福德

alexancer:是的。我不建议将大型基于补丁的对象导出到EPS。最好是创建一个重新格式化的版本(例如导出到PNG),然后使用外部应用程序嵌入到EPS文件中。

alexancer

一个问题是,当我从一个曲面图从数千个数据点导出eps文件时。导出的文件非常大,每个文件几乎有40MB。

苏尼尔anandatheertha

哇塞…!非常感谢这个伟大的分享。在这里仍然是一个初学者,,:),和你的代码给了我很多要学习的东西。

非常有用的. .我和朋友们分享这些链接。B)

奥利弗·伍德福德

Kemal: MATLAB无法使用画家算法保存透明度,所以export_fig也不支持eps中的透明度。万博1manbetx您可以通过将矢量图形导出为svg (//www.tianjin-qmedu.com/matlabcentral/fileexchange/7401),然后使用外部程序转换为eps。

至于bug,如果你想让我看看它,请遵循我的许多请求,直接联系我。

凯末尔

不用说,Matlab函数不起作用。

凯末尔

导出包含两个透明补丁的图形时存在问题(使用patch。M和设置“facealpha”0.7)。

集(gca,“颜色”,“没有一个”)
Export_fig 'filename.png' -透明

这导致了一个正确的png图,但是我需要一个比默认分辨率更高的图片。使用以下命令

集(gca,“颜色”,“没有一个”)
Export_fig 'filename.png' -transparent -m2

图片变得一团糟:图的上半部分出现了奇怪的错位。
这个问题有解决方案吗?导出一个带有透明补丁的高质量图形到png(如果它也适用于eps,我会很兴奋)。

谢谢!

佐伊张

Petteri T

达伦价格

为什么这不是matlab默认的一部分?Mathworks的人需要这种东西!

Ingo

Ioannis Filippidis

工作完美,谢谢!非常强大的结合LaTeX注解轴,标题和图例,并导出到PDF中使用XeTeX。比其他方法(如laprint, PStricks, METAPOST, TikZ exports)更直接。

人文国林

v好!

非常有用的包装出口美丽的数字。

内森·汤姆林

Sebastien巴黎

Ankur帕瓦尔

非常有用的函数。

克里斯

这太棒了。

有人知道如何在多页pdf文件中添加书签吗?

谢谢

刘若英

你现在是我最喜欢的人之一了。谢谢你! !

刘若英

约翰·科尔比

这是我最喜欢的FileExchange提交。时期。我已经使用它一年多了,无法想象回到以前的方式。谢谢,奥利弗!

owr

丹尼尔

嘿,奥利弗,
谢谢你那个令人印象深刻的工具。一个问题/问题:
我得到了一个16:10的方形坐标轴。虽然我用
set(gcf, 'InvertHardcopy', 'off', 'Color', 'black')
图像背景(不是坐标轴bg)和图例文本被颠倒(也使用print())。有什么方法可以防止这种情况发生吗?我还使用了-transparent,但没有成功。

谢谢你,丹尼尔

彼得罗

这个功能真的很好,但是eps的质量不如pdf的。你有什么建议吗?

卡梅伦Sparr

儿子华

山姆Hallman

我一直在使用export_fig,我喜欢它。多亏了这个工具,我做了很多漂亮的图形。网络文档非常棒。

山姆Hallman

Onkar Singh Gujral

很好

Felix Zoergiebel

我在OS X 10.6.8上从MATLAB R2011b调用ghostscript(以及pdf2ps)有问题。System ('/opt/local/bin/gs')给我这个错误:

dyld:未加载库:/opt/local/lib/libfreetype.6.dylib
引用:/opt/local/lib/libfontconfig.1.dylib
原因:不兼容的库版本:libfontconfig.1。Dylib需要14.0.0或更高版本,但是libfreetype.6。Dylib提供10.0.0版本
/opt/local/bin/gs: Trace/breakpoint trap .输出说明

在ghostscript.m中调用ghostscript之前,我通过删除MATLABs的DYLD_PATH_LIBRARY变量来解决这个问题:

[varargout{1:nargout}] = system(sprintf('export DYLD_LIBRARY_PATH="";/opt/local/bin/gs %s', cmd));

同样应该适用于pdf2ps.m。

这个问题在MATLAB 7.4中不存在,因为没有libfreetype。dylib在MATLAB中安装。希望这篇小报道能帮助到其他人。

艾丽卡

奥利弗·伍德福德

肖恩:谢谢。我知道MATLAB处理图形的方式将在某个时刻发生巨大的变化。当它出现时,我预计export_fig将在许多方面崩溃。现在,您可以禁用警告。

肖恩

注意,set(gcf,'color','none')正在消失。我收到警告了。

奥利弗·伍德福德

apañero:使用-r180选项来正确设置图像文件中的dpi(否则export_fig如何知道dpi?)该信息没有存储在图中的任何地方。)然后设置图像大小,以便获得所需的输出分辨率(以像素为单位的图像大小)。在你的例子中,屏幕上的图像大小应该是7cm x 7cm。

apanero

如果您想保持与原始图像相同的分辨率和文档大小,则会出现一个问题。

180dpi图像,7x7cm大小
Export_fig image -tif -native
导出的图像为96dpi, 13 x 13cm大小(整体分辨率相同,但尺寸不同)

如果我用-r180
导出的图像是180dpi,但13 x 13cm和双像素大小(同样,整体结果相同,但图像尺寸错误)。

Export_fig image -tif -native

奥利弗·伍德福德

Ole: Export_fig不支持在eps文件万博1manbetx中嵌入tiff预览,很遗憾。这也许可以通过一个外部应用程序来实现,如果它有一个命令行接口,您可以为它编写一个MATLAB包装器。

奥立

这段代码非常有用!谁能说说tiff预览/缩略图是否或者如何可以包含到eps文件中吗?

大卫•王

请注意,您*将*需要调优图像参数,以使您的图像文件与保存的结果一致。

极好地工作。了解了如何制作CMYK口角以供发布。遵循以下代码:

figure('InvertHardcopy','off','Color',[1,11 1]);将背景设置为白色
情节(x, y);
export_fig ([filepath文件名'全部'],“tif”、“cmyk”、“r300”);%用于CMYK 300 DPI tiff图像

奥利弗·伍德福德

恐怕从现在起,我不会在评论区回应你的求助请求了。帮助文本和网页非常详细。Bug报告可以直接通过电子邮件发送给我。

马丁


这是一个非常非常有用的函数。但我有一个问题。我不能得到相同的屏幕分辨率,同时导出颤动的情节。我将颤动图导出到。tiff文件,然后在Imagej中打开它。但当我放大时,箭头看起来非常模糊。我尝试了以下方法:

Export_fig test.tiff -m2 -r 250

如果你能帮我这个忙就太好了。

谢谢
Sundar

Patrick:在一台32位XP机器上干净地安装R2011a和export_fig后,我刚刚得到了一个裁剪好的、大小正确的图形。对不起,不能提供更多的帮助!

帕特里克Maletinsky

奥利弗:谢谢你帮我检查!我只是重复了你所做的(plot(rand(3));Export_fig test.pdf;),果然,输出pdf包含字母大小的白色背景上的(标准)灰色背景的图形。
因为在您的安装上工作,它可能与我的Matlab设置/首选项(?)有关。不过,我没有设置任何特殊的东西,也检查了我同事的其他几台机器,方案似乎一致:R2011a产生字母大小的输出,所有早期安装都按照我的指示执行。

如果有人知道解决这个问题的办法,我会非常感激。现在,我只在较老版本的Matlab上运行export_fig;-)

再一次感谢这个伟大的剧本,无论如何,奥利弗!

附注:这都是在32位的Windows XP机器上。

嘉奇

weijie

你给我留论文!

帕特里克:我刚刚在Vista 32位机器上安装了R2011a并运行
情节(兰德(3));
export_fig test.pdf;
正如预期的那样。

帕特里克Maletinsky

很棒的剧本,非常感谢Oliver!

我最近从Matlab R2009a升级到R2011a,这导致了export_fig的一个问题:升级后,导出到。pdf(和/或。eps)的数字有一个固定的美国合法的纸张大小(即通常在我的数字周围有很多空白)。我现在找不到一种方法来改变我在Matlab中导出的图形的纸张大小。当我在Matlab R2009a上运行export_fig时,使用export_fig导出后的纸张大小通常由原始的图形大小设置。有什么办法能让我回到这些设置吗?

帕特里克Maletinsky

你好,奥利弗,非常感谢你的帮助。zbuffer渲染器适合我。然而,我仍然喜欢EPS输出比BMP(它模糊时,缩小或放大)。正如你所说,白锡网在不同的应用中确实有不同的表现形式。

再次感谢您的帮助。

奥利弗·伍德福德

杰:是的,在印刷的人物中,线条不应该是可见的。另外,如果opengl失败,请尝试zbuffer渲染器。

嗨,奥利弗,谢谢你的迅速回复。你知道,谷歌正在与中国政府对抗,我看不到谷歌网站上列出的例子和解释。

你的意思是纸印的图形不会显示这样的锡网?然而,当我试图保存bmp和jpg格式,我得到以下错误:
设置PBuffer为OpenGL打印:无效的可绘制。

有趣的是,几天前我确实保存了jpg文件。我不知道为什么我不能保存bmp现在。

奥利弗·伍德福德

杰:我在例子网页上解释了原因。这是你的PDF阅读器的错,但这意味着3D曲面可以更好地导出为位图。

嗨,Oliver, export_fig真的是一个很好的工具,它对我的论文帮助很大。谢谢你!

但是,当我想导出由“网格”或“冲浪”产生的3D表面时,我遇到了一个问题。虽然Matlab图形窗口的输出是正常的,但是导出的图形被白色的锡网覆盖,尤其是灰色表面。

实际上,你可以在这个网页顶部的export_fig图标上找到白色锡网(这个工具产生的漂亮的颜色表面被白色锡网覆盖)。

这个问题近日来快把我逼疯了。我试图改变各种线的属性,然而,它从来没有工作。

奥利弗·伍德福德

布莱德:你可以用-油漆工和-r200。如果它没有达到你的期望,那么直接联系我。此外,只需将文件放在您的MATLAB路径上,以避免将它们移动到您的当前目录-这是标准的,但与export_fig无关。

布莱德

这个函数非常棒。更重要的是,它可以合并到我的功能,所以我可以保存多个情节和人物在辉煌的高分辨率。我喜欢它,它很容易使用!

但是,我一直在将位于export_fig文件夹中的所有export_fig文件复制到当前工作目录中(该目录经常更改)。这是可行的,但我不想每次在一个新目录下开始工作时都这样做,我想要做数字。

有没有办法把export_fig在它自己的文件夹(也许C:/Program Files/Export Fig/export_fig),并从我的当前目录调用它,而不改变来回到那个目录?此外,我想使用选项像-画家和-r200。

谢谢奥利弗!

奥利弗·伍德福德

伊莱:是的,油漆工在所有系统上工作。如果你有什么特别的问题,你可以直接和我联系。

伊莱

谢谢奥利弗。我指的是图像的大小(单位为Kb)。如果您的文件中有很多图片,文档的大小会迅速增长,无法提交。我已经试过-q30等-r,没有效果。linux中带有选项的gs命令可以减小大小(不是很好),但我想在export_fig中完成所有工作。我想我得重新规划我的剧情了。

我要感谢您提供的这个代码。在过去的几周里,它对我很有帮助!

建议:默认设置set(gcf, 'Color', 'w')。看到那些通常不需要的利润,会吓退新来者。

-画家选项应该在任何系统的pdf/eps文件上工作吗?

奥利弗·伍德福德

伊莱:你指的是文件大小还是纸张大小?可以使用-qXX选项更改文件大小,例如-q50,但它只影响文件中的图像。如果纸张大小,请更改图形大小。

如果您想让我帮助您纠正错误,那么我建议您遵循描述末尾的说明。

伊莱

伟大的软件。

如何控制输出PDF或EPS的大小?我想缩小尺寸。

另外,-painter选项不适合我,在pdf/eps文件中。我在各种linux和win系统上尝试了它。

丹·K

奥利弗,
谢谢你的回复…按照你的建议,我找到了IMCLIPBOARD (//www.tianjin-qmedu.com/matlabcentral/fileexchange/28708-imclipboard)就能做到这一点。现在如果我能找到一个以矢量格式输出到剪贴板的。

奥利弗·伍德福德

丹:不,没有。但是,您可以将图像输出为数组,因此,如果您找到了一种将数组作为图像复制到剪贴板的方法,那么您就可以做到这一点。

丹·K

你好奥利弗,
很好。一个问题:我也在与复制图像外面的空白作斗争。你的剪裁似乎做得很好。是否有一种方法使用export_fig导出到剪贴板?
谢谢,

奥利弗·伍德福德

pvans:您可以通过设置坐标轴的位置并使用export_fig的-nocrop选项来控制坐标轴周围的空白数量。

奥斯丁

谢谢你。

Mathworks,我不得不求助于第三方软件包以编程方式导出我的数据,这太荒谬了。每当我遇到类似的问题时,我就越来越倾向于使用numpy/scipy进行所有的开发。

pvans

你好奥利弗,

我想把两者都保留下来

1)在它内部以本机分辨率保存的图像对象

2)控制图像轴外空白的大小,单位为像素。

你的“-native”选项适用于1),但似乎为了实现2)同时,我需要调整数字的大小而不调整图像的大小。我可以通过设置图像轴的“Units”属性为“Pixels”(而不是默认的“Normalized”)来做到这一点,但这种改变似乎使export_fig工作不正确。在您的程序中是否有办法做到这一点?

艾米丽

Sherif

非常有用的。谢谢你!

Celdor

@farzad
在EPS文件中,我导出我的数字,所有的字体更改为不同的。Arial字体改为Helvetica字体,Arial窄字体改为Courier字体等等。

奥利弗·伍德福德

Farzad: export_fig有与print相同的字体问题,正如在我的用法和示例网页上所描述的那样(链接在上面的描述中)。

法扎德

兹比格涅夫•:
你说字体不对是什么意思?这不是你在导出前看到的原始字体吗?!它将以您在屏幕上看到的方式导出图形。如果你想要另一种字体,你必须在使用export_fig命令之前更改它。

Celdor

你好,

这是一个很好的函数。它帮助我正确地将数字输出到eps。唯一的问题是,它仍然替换和导出字体错误的数字。

一个

这是最精彩的节目!谢谢:)

奥利弗·伍德福德

Farzad:正如您所说,export_fig会在图形显示在屏幕上时保存它,您可以在面向肖像的显示器上看到一个风景形状的图形,这是没有问题的。

法扎德

你好奥利弗,

这可能不是一个好问题,但如果你改变你的显示肖像,那么它是可能保存的数字在风景?我想没有,因为据说这个数字是完全一样的保存在屏幕上。

Shiguo

nsbd

法扎德

Matthijs Klomp

法扎德

啊,我弄错了。谢谢你纠正我,奥利弗。Export_fig真的很棒。虽然这并不需要提及。在过去30天内下载了908次!!

奥利弗·伍德福德

法扎德:MATLAB有把变量传递给函数的方法。没有括号,每个输入都被认为是字符串。使用方括号,您需要指定哪些是字符串,哪些没有使用"。这是完全标准的。所以在你的情况下:
Export_fig (sprintf('plot%d.png', a), '-a1');

法扎德

你好奥利弗
我有一个关于export_fig在for循环中的使用的问题。在示例中,你给出了这样的格式:

export_fig (sprintf () % d.png情节,);

如果我想使用额外的参数,比如禁用反锯齿,原来是:
Export_fig plot.png -a1
我尝试了不同的格式在循环中传递'a'参数的值给export_fig,但我失败了。不应该是这样的吗?
export_fig (sprintf (% d.png情节,我),a);
其中(抗锯齿值)是export_fig ?!的第二个输入参数

我很欣赏你的出色工作。

谢谢你,奥利弗。我真的没有注意到。文件交换的界面最近改变了不少,你的文件是我下载的第一个文件。不过,“全部下载”标签的清晰度可能存在争议。

奥利弗·伍德福德

丹:在页面的右上角有一个蓝色的“全部下载”按钮。你试过吗?这对我很有效。

新的文件交换接口不工作。没有“下载”选项显示,“观看此文件”在当前页面和“观看列表”之间循环发送,而不实际显示文件。

有什么建议吗?

梁詹

实际上是Walter robertson推荐我使用你的函数,太棒了,它解决了我一个大问题,感谢你的代码!!

马丁

法扎德

我不知道德鲁的事。它处理图形效果更好,我还学会了一个新命令。非常感谢你,奥利弗。
成功

法扎德

谢谢奥利弗。我会试着用别的东西来替换最大化。

奥利弗·伍德福德

Farzad:但是,一个解决方案是在export_fig之前调用drawnow。

奥利弗·伍德福德

Farzad:这是一个maximum的问题,而不是export_fig。

法扎德


谢谢分享这个非常有用的文件。
我有一个问题使用export_fig与最大化。也许有人能帮上忙。当我使用maximize时,我必须在export_fig之前添加暂停(至少0.5秒),否则它会保存小版本。下面是命令的顺序:
H =图;
最大化(h);
情节……
Export_fig test.bmp -m2

------------------------
win7上的R2009b, 32位

马丁

凯瑟琳娜奇科夫

嗨,奥利弗,非常感谢你这么好的剧本。我是一个mac用户(os x 10.6),使用ghostscript时遇到了一些麻烦。在这个网站上http://www.linuxfoundation.org/collaborate/workgroups/openprinting/macosx/hpijs你可以下载GPL Ghostscript (dmg文件)。这对我很有效。

雷扎

伟大的功能!

当处理图像时,以矢量格式导出线条、文本、图例等,以像素格式导出图像(理想情况下两者都在一个pdf文件中)将是非常棒的。您可能知道在原来的导出中做了一些工作//www.tianjin-qmedu.com/company/newsletters/digest/december00/export.html

我认为这将是一个伟大的功能!

奥利弗·伍德福德

Meggy:确保你已经安装了ghostscript(不是ghostscript)。m MATLAB函数)按照说明,然后根据提示选择包含ghostscript程序的文件夹。如果您有任何更多的问题,请直接联系我,正如要求多次在这个页面上已经。

奥列格•科马罗夫

感谢你的函数,我将开始使用matlab图形!

奥利弗·伍德福德

Bogdan:这类问题最好通过电子邮件发给我,作为一个最小的工作示例。

波格丹

你好奥利弗,

当我创建一个pdf文件,并包括它在乳胶蓝色得到洗在乳胶文件。但是,在创建的pdf中是可以的。你知道为什么吗,看起来真的很糟糕。其他使用print命令创建的pdf文件则没有这个问题。

奥利弗·伍德福德

莱因哈德:谢谢。这对一些人来说可能是非常有用的信息。

莱因哈德

供参考:我刚刚尝试使用export_fig创建临时PDF文件,然后使用ghostscript在一个单独的去追加它们。那样要快得多。如果Ghostscript同时接收要追加的所有文件名,那么它显然会优化调用。

奥利弗·伍德福德

ImageAnalyst:它演示了您可以导出带有透明信息的图形(因为其中一个可以通过另一个可见)。也许不是很直观。

图像分析

我不太明白你的截图。为什么两个图像重叠?

奥利弗·伍德福德

莱因哈德:不,这不是我调查过的事情。一种可能是,由于错误恢复的原因,export_fig在追加文件之前复制了该文件。您可以从eps2pdf中取出这一步。M,看看会发生什么。否则就只能靠鬼脚本了,我无法控制。

莱因哈德

谢谢奥利弗,我们已经使用你的代码有一段时间了,特别是使用PDF导出功能。我们注意到的一件事是,如果你在同一个PDF中添加大量(30多个)的图表,随着PDF的增大,这个过程会变得非常缓慢。你知道是什么引起的吗?

莱因哈德

埃尔莎桦木

很多谢谢!

约瑟夫LIM

Rossella

这是一个非常有用且编写良好的函数。非常感谢!

问Svane

问Svane

伟大的工作!

托拜厄斯Lamour

你好奥利弗,
谢谢你在这里不可思议的工作!你为我节省了很多时间毫无疑问,你将Matlab的价值提高了三倍。
请像以前那样继续下去。
欢呼,托比

mathworks2011

茱莉亚

亲爱的奥利佛,

谢谢你救了我的(出版)命。

茱莉亚

奥利弗·伍德福德

克雷格:观察得不错。完成了。

克雷格

谢谢你的回复。我想到,可以通过在显示之前调整图像的大小,然后使用-native开关来设置相对于本机的分辨率。与其修改功能,不如在你的网站上为像我这样理解慢的人添加一条注释?

再次感谢你,克雷格。

奥利弗·伍德福德

Craig:如果使用了反锯齿,中间图像可能比输出图像大,所以警告是正确的。你关于额外解决方案的建议已被注意到,谢谢。

克雷格

功能很好-谢谢奥利弗。它与“maximize.m”配合得非常好。

像其他许多人一样,我不明白为什么这样的功能没有内置到MATLAB中。我把我的图片保存为MATLAB“fig”格式,复制粘贴到其他文档中,以尽量保留一些质量。我有一个微不足道的建议:

是否可以包含一个额外的分辨率选项,以便分辨率可以指定为“本机”的百分比,而不仅仅是相对于屏幕上的大小?使用-r开关是否已经有一个简单的方法来做到这一点?

我还注意到MATLAB (Win7 64位R2010b)产生一个可怕的警告“警告:print2array生成185.1M像素的图像。这可能会很慢,还可能导致内存问题。”而实际上,当-m设置为10时,图像大小是原来的十分之一。这并不重要,但让我担心,直到我意识到这是一派胡言。

再次感谢,
克雷格。

Matthijs Klomp

我所有的出版物都使用print_pdf格式。

尼克Fyson

功能优良,易于制作高质量的图形。(通常看起来比图形窗口本身要好得多。)从来没有任何问题。

奥利弗·伍德福德

莫尼克:在我的系统上,你给的裁剪效果很好。也没有人报告过这个问题,所以我想说自动裁剪是有效的,你的评论是对其他用户的误导。如果您想让我进一步研究您的具体问题,请继续阅读。

大家:就像我在这个页面上已经说过两次的那样,当你有问题(假设你已经检查了所有地方,但找不到解决方案)时,请给我发邮件(使用“我的作者页面上的联系作者链接”),而不是放在这里。我将更快地响应,能够请求数据和结果,而且发现该功能的人不会认为它从来没有工作过!

Monique Messie

非常有用的函数,尽管我还没有探索所有的可能性。
一个问题:当保存具有透明背景的图形时,自动裁剪无法工作。有什么原因吗?还有什么方法可以自动裁剪吗?
例子:
图,plot(1:10), set(gcf,'Color','w'), set(gca, 'Color','w','XLim',[0 20]);,轴off, export_fig test % (autocrop)
图,plot(1:10), set(gcf,'Color','none'), set(gca, 'Color','none','XLim',[0 20]);,轴off, export_fig test2%(不自动裁剪)
谢谢!

大卫·劳埃德

出色的功能和文档。你做了一件早就该做的事,Mathworks应该给你一张大支票。同时,请接受我衷心的感谢:)

Vinesh Rajpaul

良好的文档,易于使用,工作做得非常好!谢谢!

Vinesh Rajpaul

马修Arthington

马克

约瑟夫

约阿希姆Schlosser

一个很棒的脚本。连同文章中的提示http://blogs.mathworks.com/loren/2007/12/11/making-pretty-graphs/这可以制作非常漂亮的图形!

奥利弗·伍德福德

丹:不幸的是这是无法避免的。用于矢量图形的画家渲染器不支持透明度。万博1manbetx更多详情请点击这里:
//www.tianjin-qmedu.com/access/helpdesk/help/techdoc/creating_plots/f3-84337.html#f3-102410

非常好的脚本,我一直在使用它。

只有一件事,当保存到。pdf文件时,它似乎会打乱剧情上的透明元素,使它们变得不透明。

有办法补救吗?

干杯!

丹尼尔

我错了,在文件名中包含路径是有效的。我只是不能使用“~”作为到我的主目录的快捷方式。至少在Mac上不行。使用完整路径适用于所有格式,'~'适用于除pdf和eps以外的所有格式。

奥利弗,谢谢你帮我排除故障!

丹尼尔

这个节目很棒。多年来,我尝试过几次类似的方法,但都没有这么干净。

当在文件名中指定路径时,它适用于除pdf和eps以外的所有格式。它们只会保存到当前目录。是否有办法在调用中指定路径?目前我只是cd到想要的目录,然后cd回到我刚才的位置。

谢谢你的工作和分享。

丹尼尔

菲利普·瓦伦西亚

最好的奥利弗-伟大的实用工具,有大量的功能。
-painter选项很棒。我可以从命令行渲染一个带有透明轴和背景的图形,并将其保存到我的桌面上(使用geektool)。它看起来太棒了,没有这些脚本是不可能的。

奥利弗·伍德福德

这将生成两张图像,一张带有抗锯齿,另一张没有-
export_fig aa.png
Export_fig no_aa.png -a1
抗锯齿选项可以与任何其他选项组合使用。注意,抗锯齿设置只影响位图输出。它们对矢量输出没有影响,比如pdf和eps文件。

Royi Avital

你需要澄清一点语法(我不知道如何关闭反锯齿,Triad -a1没有区别,我猜我没有写语法它应该是)。
添加一些语法用法的例子将是伟大的!

奥利弗·伍德福德

Jared:默认情况下,字体应该嵌入到导出的pdf文件中,也应该嵌入到eps文件中(后者取决于你的系统中有什么pdftops可执行文件)。你需要在从它导出之前导入一个数字到Myriad Pro -我建议你问新闻组,如果你需要帮助这一点。

贾里德

如何导出嵌入字体?例如,可以使用Myriad Pro进行导出吗?

亚当一个

非常有用,谢谢。

Sylvain足总

非常好的功能。我已经用了一段时间了,没有任何问题。我刚刚注意到,当一个数字包含一个:
"text(…,'interpreter','latex')",则print2eps函数没有正确设置边界框,或者在使用eps2pdf时至少没有裁剪图形。

仔细观察可以发现,当使用乳胶解释器时,获得的eps文件(带有MATLAB打印函数)包含字体信息。这可能会产生某种干扰。有办法解决这个问题吗?

格伦Fulford)

zhuhhu

非常有用的。相对于笔记本,使用起来更简单

格伦Fulford)

Shai其实

奥利弗:非常感谢。
最后,我可以用Matlab生成漂亮的图形。
Shai

奥利弗·伍德福德

Shai:线条风格问题可以通过指定画家算法来解决,使用-画家选项。注意,需要安装ghostscript才能正常工作。

Shai其实

伟大的计划。

然而,我遇到了一个小困难。
我试图导出一个B&W数字,包括实心,虚线和虚线,分辨率为350 dpi, tif格式。但是,在tif图像中,虚线看起来像虚线,虚线看起来像实灰线。

四种抗锯齿级别我都试过了。

是否有一种方法导出在高分辨率tif格式,同时保持类似于原来的行外观?

非常感谢,
Shai

罗兰

迈克尔约翰斯顿

非常有用的。

为了响应Muhammad和xtfe xtfe的评论,我分别添加了-native和-r选项。

维克托:不幸的是,我没有也没有用Simulink,所以不万博1manbetx能解决你的问题。万博1manbet万博1manbetxx不过,Simulink支持从来没有被声明过,我希望这个功能能做到它在锡纸上说的一切。

维克多

你好奥利弗,

你的文件工作得很好,但是有没有办法把它应用到simulink系统中呢?万博1manbetx你可以打印你的模型的照片,但裁剪非常困难。

维克多

奥利弗·伍德福德

乔纳斯:
我从eps转换为pdf,然后返回到eps,因为我知道如何设置位图压缩的质量,以及如何通过ghostscript在保存到pdf时嵌入字体,但不知道保存到eps时如何嵌入字体。因此,我的方法是将pdf保存为正确的格式,然后使用软件将pdf转换为eps,而不改变这些方面的任何东西。

如果有人知道更直接的方法,请告诉我。

乔纳斯

非常有用的程序!

1)当你打印到。eps时,你打印到。eps,然后转换到。pdf,然后返回到。eps。为什么?

2)在OS X上,uigetdir文件对话框不显示标题。因此,当用户被要求提供pdftops的路径时,根本不清楚发生了什么。我建议在pdftops.m的第60行之前添加以下内容:
如果ismac
Wh = warndlg('pdftops未找到。请找到该程序,或安装xpdf-toolshttp://users.phg-online.de/tk/MOSXS/。');
uiwait (wh)
结束

让-巴蒂斯特·卡雷

奥利弗·伍德福德

xtofe xtofe:
设置放大率如下-
Dpi = 300;
mag = dpi / get(0, 'ScreenPixelsPerInch');
Export_fig ('name.png', sprintf('-m%g', mag));

xtofe xtofe

它确实非常有用。

如何改变最终文件的分辨率?
例如,300dpi, 400dpi等。

有什么想法?

Madhusudhan

非常有用的修复在Matlab中缺失的功能。

默罕默德

你好再次,

感谢一个非常有用的提示,我尝试使用不同的放大值和抗锯齿,直到我得到完美的一对,以获得本机分辨率。

奥利弗·伍德福德

默罕默德:这取决于屏幕上人物的大小,以及你应用的放大倍数——你可以改变这两者来得到你想要的输出。但是,通过导出包含图像的图形以本机分辨率保存图像通常不是一个好主意。我建议您将您正在尝试做的事情发布到新闻组,并询问替代方法的建议。

默罕默德

我注意到生成的图像(.jpg)没有相同的大小(例如。600 x 800)与输入图像。我如何将大小设置为相同?

默罕默德

是的,效果很好。再次感谢

奥利弗·伍德福德

使用函数形式调用export_fig以获得函数型和数值型输入参数,例如:
Export_fig (figure_handle, sprintf('目录/名称% d.p jpg', n), '-a2', '-画家');

默罕默德

大家好,日安。
谢谢你的精彩投稿。
我想知道我如何保存一个数字连同目录路径,就像一个我计算与imwrite功能
imwrite (img sprintf(目录/ name.jpg))

奥利弗·伍德福德

为了改进位图输出中的虚线和虚线的渲染(特别是在更高的放大倍率下),你现在可以使用画家渲染器:
-画家
但是,请参阅帮助文本,了解使用不同渲染器的影响。

伊冯Haesevoets

感谢上一个版本,它解决了线型的问题!

Xuezhong王

奥利弗·伍德福德

export_fig的一个有用的方面是,它可以将栅格化的图形作为图像数组输出。例如,您可以使用此输出以灰度或特定分辨率(像素/英寸值)保存图形。

伊冯Haesevoets

...以及如何在tiff文件中保存行样式?再次感谢!

伊冯Haesevoets

绝对棒! !要是我早点发现就好了!!感谢楼主分享!
如何提高分辨率?m选项增加文件的大小,而不是分辨率。

鲍勃

奥利弗,非常感谢,但有件事很有趣。如果为原始图形打开属性编辑器,则颜色为白色。我运行set命令,颜色为none。然后我使用export_fig,颜色回到白色(在属性管理器中看到的),图有一个白色的背景(export_fig foo.png -pdf;OS X 10.6.2, 2009b)。pdf和png的白色背景是一样的。

奥利弗·伍德福德

鲍勃:
Set (gcf, 'color', 'none');设置图形背景为透明
Set (gca, 'color', 'none');设置坐标轴背景为透明

鲍勃

真希望我能早点找到这个很棒的脚本!

有人能告诉我如何设置颜色属性为“none”吗?如果你设置了编辑图,然后使用属性编辑器,你只得到一个颜色选项(例如调色板),你不能输入“none”。我忽略了一些很明显的东西,有人能帮我一下吗?

鲍勃

基尔威利斯

我的显卡驱动程序过时了。自从我更新了驱动程序,一切工作正常。谢谢!

奥利弗·伍德福德

提醒大家:正如我在描述中所说的,当你有问题时,请给我发邮件(使用“我的作者页面上的联系作者链接”),而不是放在这里。我的反应会更快,而且发现这个功能的人也不会认为它从来没有工作过!

基尔威利斯

我在打印png格式时遇到了麻烦,这些数字完全是黑色的。我使用的是MATLAB版本2008b。我使用的命令是“export_fig filename -png”。

谢谢你的建议。

克拉克理查兹

伟大的脚本。很长一段时间以来,在Matlab中输出到pdf都让我很头疼。

如果有一个“附加”选项的pdf输出将是有用的。我并不总是想追加到文件的末尾,通常我只是想更新一个数字,让它覆盖已经存在的内容。

奥利弗·伍德福德

Michael: MATLAB的打印经常对一个图做一些有趣的事情,比如当你导出它的时候,改变标记的数量,我不知道如何避免它。Export_fig使用打印,因此不幸地遇到了同样的问题。

迈克尔北泽阀门

我想用这个工具保存一个带有边框裁剪的jpg文件。现在我意识到在导出过程中坐标轴设置被更改了。
我使用了一个包含三个副图,两个图表和一个图像的图表。
这些图使用整个坐标轴区域以定制的尺度显示了7000个数据点。Matlab的自动缩放使用8000点,导出函数也是如此。
有办法避免自动缩放吗?

奥利弗·伍德福德

您要导出的图形必须是打开的。您不能通过文件名指定它。文件名是输出文件的文件名,而不是输入文件的文件名。

文件名应该是一个字符串。就像任何其他MATLAB函数一样,您可以在输入参数周围使用圆括号调用export_fig,或者不调用,在这种情况下,输入被解释为字符串;也就是说,如果其中一个输入不是字符串,那么你必须使用括号。输出结果与打印所用的不一样。类型
帮助export_fig
有关用法的完整说明。

艾丽卡奥尔斯顿

使用这个函数的调用顺序是什么?文件名应该在圆括号中吗?输出格式是否与matlap使用的相同,例如-depsc?

很多谢谢!

mg

我无法在我的linux机器上使用export_fig
我正在使用命令
Export_fig f.fig -eps
我得到了以下错误:
“无图可印”
和一个警告/tmp/tmp<长字符串>。未找到Eps

请帮助。
谢谢,

安妮特

我试图在Mac (OS 10.5)上使用Matlab r2007b函数,我得到错误:

???使用==> rdivide错误
数组维数必须与二进制数组op相匹配。

错误在==> export_fig at 143
A = uint8(B ./ A(:,:,[1 1 1]));

了解吗?

干杯!

68年c46a6

伟大的功能!这为我节省了很多时间,谢谢!
希望我能更容易地禁用裁剪。

cartonn

如何导出dpi值较大的图像?
-r600不起作用

Sebastiaan

约翰内斯Korsawe

真的很不错。
我仍然有一个问题使用ui面板(gui):

如果我创建了一个图形和一个颜色条,颜色条将不会打印在结果中。

是否可以启用颜色条搜索?我试图采用你的代码,但没有复制正确的结构。

对Stefan说:你能修复/启用那个吗?

Gabriel Akira Schreiber

Gabriel Akira Schreiber

黛西的粉丝

好了!

如何获得高分辨率的eps,例如>300dpi?Matlab的文档说要使用-r选项,例如,
打印-deps -r300 myfile
但这实际上是行不通的。当我在Adobe Photoshop等软件中查看生成的eps时,分辨率仅为72dpi。感谢您的输入!

Stefan

伟大的工作!

但仍然有一个bug:如果axes是uipanel的子元素,导出就不能工作。在使用cobyobj时似乎有一些问题
你能修好吗?

魏冯

伟大的工作!先生,你帮我节省了很多时间。

我已经使用你的print_eps函数一段时间了,今天发现了这个。然而,我有一个问题的图像转换到eps格式一直困扰着我。例如,我在matlab图中有两幅图像。在这两个图像上,我都使用了“plot”函数来绘制图像上的一些线。画出来的线是灰色的。当我将它们导出为eps格式时,第一张图像上的线条将保持灰色。但是第二张图上的线会变成黑色。同样的事情也会发生在我有两张以上的带有标线的图像时,在这种情况下,除了第一张图像之外的所有标线都会变黑。我想知道你能不能解释一下?

非常感谢。

埃德加·格瓦拉

伟大的工作!
最后,我可以用一种简单的方式得到具有出版质量的图表。
谢谢奥利弗让我比以前更容易了。

基督教Dorion

干得好,谢谢。

不过还有一件小事……在我的安装下,私有/ghostscript。M函数有一个小错误,导致整个函数被抛出,并被唯一的'gs'路径所取代。以防万一,这里有一个简单的补丁:

——我/私人/ ghostscript.m
+ + +在线/私人/ ghostscript.m
@@ -103,9 +103,8 @@
FSTRM = fread(fh, '*char')';
文件关闭(跳频);
%找到路径
-first_sec = regexp (fstrm”[r \ n \] *函数路径= current_gs_path [r \ n \] = " *路径”、“结束”、“一次”);
-second_sec = first_sec + regexp (fstrm (first_sec + 1:结束),”“;[r \ n \] *返回”,“一旦”);
-assert(~isempty(first_sec) && ~isempty(second_sec));
+first_sec = regexp(fstrm, '[\n\r]function path = current_gs_path[\n\r]path = " ', 'end', 'once');
+ second_sec = first_sec + regexp (fstrm (first_sec + 1:结束),”“;[r \ n \]返回”,“一旦”);
保存替换路径的文件
Fh = fopen(fname, 'wt');
Fprintf (fh, '%s%s%s', fstrm(1:first_sec), path, fstrm(second_sec:end));

奥利弗·伍德福德

Dan:目前唯一能改变导出图形大小的方法是在导出之前先改变Matlab图形的大小。要解决这个问题,可以在export_fig中手动设置纸张大小选项。

马特:谢谢你的好建议。

Shameem/Mohammed:我想保持界面简单,所以不幸的是没有正式的方法来控制文件大小。Jpeg文件的大小可以通过改变export_fig中的质量设置来改变。有关质量/压缩的更多选项,参见savefig(也在FEX上)。

穆罕默德的伊斯兰教

你好奥利弗,
非常感谢这个剧本。这对我很有用。到目前为止,我使用它还没有遇到任何问题。只有一个问题,是否有可能使用它来控制输出文件的大小?

此外,感谢马特的添加,它很好,不替换现有的文件,并不断增加额外的数字在底部。这就是我想做的。

干得好,伙计们。坚持下去。

Shameem

马特·C

这套输出选项真的很棒!我过去常常自己编写这些函数,但有了您创建的前端,现在就简单多了。

当使用它时,我发现你目前实现ghostscript的方式将破坏目标文件,如果它已经存在。虽然这可能是预期的实现,但让我提供一个可能对其他人同样有用的替代方案。

我已经编辑了eps2pdf。M '文件,以允许向现有的。pdf文件追加其他数字,如下所示:
<代码>

函数eps2pdf(source, dest)
构造ghostscript的选项字符串-新建或追加
如果目标存在,则%额外的工作表
If (exist(dest, 'file') == 2)
Tmp_nam = tempname;
拷贝文件(桌子,tmp_nam);
options = ['-q -dNOPAUSE -dBATCH -dEPSCrop -sDEVICE=pdfwrite -dPDFSETTINGS=/prepress -sOutputFile="' dest '" "' tmp_name '" -f "' source '"'];
其他的
options = ['-q -dNOPAUSE -dBATCH -dEPSCrop -sDEVICE=pdfwrite -dPDFSETTINGS=/prepress -sOutputFile="' dest '" -f "' source '"'];
结束

%转换为pdf使用ghostscript
内容(选项);
返回

> < /代码

我希望你们中的一些人能发现这个修改有用!

丹尼

你好!我如何使用您的程序导出MATLAB图形到.eps或.pdf格式的大小变化?

谢谢你!

MATLAB版本兼容性
使用R2014b创建
与任何版本兼容
平台的兼容性
窗户 macOS Linux
确认

启发:MakeMovieDT QP项目surface2tikz (fighandle文件名,变长度输入宗量)光谱随机有限元法:一维欧拉-伯努利梁实例expandaxes智慧输入/输出裂缝监测乳胶输出类的MatLabfig2imgcopyUIAxesExportPngInkscape(文件名,dpi,处理)Mosaicator南极飞行计划工具wit_io在线投资组合选择,交易成本包括市场影响成本imageslicesPM架构项目冯Kármán粘弹性板的模拟紧凑的副图,单位为厘米efigurematlab-save-figurepolarG (start_complex、end_complex arrow_length、arrow_angle colour_code, line_width)显微镜图像浏览器(MIB)显微镜图像浏览器2 (MIB2)alexludwigklein / MATLAB-Videos绘制多个表面multisurf(x,y,z,颜色)Linux Matlab图标(带有透明度)MAGIC - MATLAB通用成像组件append_pdfs谷歌地球覆盖多个ColormapsEPS实用工具工具箱导出图形到3D交互式PDF复合叶片分析与设计软件颜色检查图表保存图形到文件,选择尺寸和裁剪图形jrichter24 / toPPT随机游走的仿真多页PDFJCDstatusPlotXivelyReadimsavecirclesPlotPub - MATLAB中的出版质量图激光,滤波器和cmos成像仪校准飞利浦色相灯控制器HCPARULA:高对比度Parula-like Colormap Generatorbibget导出图部件(efw)export_tex因果状态建模器工具箱机器学习-平衡一堆球快速高效的光谱聚类latexfigureFIGUREMAKER -用matlab发布质量图终端限制片段分析

社区寻宝

在MATLAB中央找到宝藏,并发现社区可以如何帮助你!

开始狩猎!