为什么矢量图形被切碎?

258次(过去30天)
ILJA Maljutenko
ILJA Maljutenko 2016年6月16日
评论: 格里特艾克2019年5月21日
一个聪明的科学家都知道,如果他们希望自己的数据,以提供最优质发表那么他们必须公布自己的身材在(低至$ 0.20)格式。
对于Matlab的,他们将需要使用“画家”出口他们的身影,当渲染功能(或者使用 打印 , 另存为 , 出口图 命令)。这样的数字变成了独立的分辨率(以及有关线宽和类型的其他福利)的。
之后 图形引擎升级 在Matlab上的PostScript数字2014B项目已变得支离破碎。补丁已经成为三角形和矩形和线条的组合已经成为弱联合的多边形。我不能更新笔记中找到关于它的单注-.-
关于数字上出现的神秘线条有很多疑问:
然而,仍然没有正确的答案或解决办法。
( 编辑PDF阅读器的抗锯齿设置 ?真的吗?-.-)
这是一个MATLAB问题,还是一个一般的PostScript问题?其他图形软件也发生过这种情况吗?
为什么这样的“升级”,这使得EPS格式无法使用,是必要的?
用户可以做些什么来避免或修复如此糟糕的图形?(开关软件旁边)
有一个惊人的数字地球科学的(也可能在其他领域)已经出版了各自为政“矢量图形”的论文(如: 第一条 , 第2条图7-8 )。没有在图/文件/出版物,是保留对图上的各个子元件信息的结果的大小提增加。
看看你的MATLAB如何处理这个问题:
波峰(峰值(100));另存为(gcf,'图.eps','epsc')
它是毕竟是一个问题?

7条评论

显示 4条旧评论
斯特凡Spelitz
斯特凡Spelitz 在2017年3月31日
ILJA,
真正的 - 它只是一个分组。但这样做至少一些故障的图形的方式进行解决(见我的GitHub项目的例子)。如果您有无法修复的,我想看看图形输出一些Matlab代码,或许可以得到改善。
ILJA Maljutenko
ILJA Maljutenko 在2017年4月5日
请重新上传它的答案 - 因此它可以被标记为潜在的解决方案:)
奥斯卡
奥斯卡 在2017年6月2日
是的,这是个大问题。任何对这个问题有更多信息的人;MathWorks的解决方案是很快就要到来,还是不是一个优先事项?
无论如何,感谢变通!尤其是,epsclean功能我觉得这是非常有用的。谢谢!

登录评论。

接受的答案

斯特凡Spelitz
斯特凡Spelitz 2017年4月9日
是的,这个问题是所有在互联网上。
这似乎是一个内部的Matlab问题,可能与他们的图形引擎HG2有关。关于这个的讨论可以找到 这里 .
作为一种变通方法我建议 用于后处理.eps文件的Matlab脚本 .当然,这并没有解决的.svg或.pdf文件的问题。但.EPS文件可以通过使用其他的软件手动转换到这些格式(例如插图,Inkscape中)。
请注意,根据它们的属性我的工具组中的元素(例如线的颜色,宽度,......),你想要的东西可能不会,因为搭配同色系的两条独立的线路可能会在同一层组合在一起。
在Matlab中潜在的问题似乎是,导出的数据被分离为不同的路径元件尽管在逻辑上它们应该被分组在一起。因此,一些矢量图形观众有问题视觉合并这些明显分开的路径。
作为结论:
  • 这个问题需要由MathWorks公司固定
  • 内部原因发生这种情况是不是向我们可见

1条评论

神经科学家
神经科学家 2018年6月17日
嗨,斯蒂芬,
既然你已经准备这个有用的脚本,我想问问,这将有可能使这个脚本.PS兼容呢?这对于打印多页到一个文件中特别有用。
阿巴斯感谢

登录评论。

更多的答案(5)

史蒂夫·汉森
史蒂夫·汉森 27 2017年10月
Mathworks公司着手在三年前打破自己的软件并没有采取什么回应其客户的需求,除了否认这一问题和其他人/软件指责的问题。
这个问题一直睁眼我。我曾经大力支持Matlab和建议大家使万博1manbetx用它,由于它提供的提高了生产效率。不过,也有被厂商锁定带来非常现实的危险,特别是因为它适用于科学和发布。即使它需要更多的努力,我认为开放源代码的替代品是保持自治的关键。

0条评论

登录评论。


Pavaman
Pavaman 2018年10月11日
使用R2018a,文件大小小10倍。然而,转换为PDF的情况下,是的filesizes小100倍(比较在R2016a创建的filesizes)。

0条评论

登录评论。


格里特艾克
格里特艾克 在2019 5月19日
首先:难以置信,马修。你真的想把它作为一个功能/改进来出售吗?如果有倾斜的边界,你可以渲染大量的三角形。我真的很生气,这件事已经让我的情节难看了一段时间,我花了很多时间来手动修复这件事。
与2017b后处理脚本不工作了。我找到了我,当我与contourf显示的东西,有效的解决方案。Inkscape中(考虑年龄加载3.5MB SVG文件MATLAB生成后)必须选择相同颜色的一切选择。打F2进入模式“由节点编辑路径”,选择它,并浏览了多个三角形的一个,右键点击“选择相同” - >“填充颜色”。三角形的无数现在应该选择的。在菜单栏中选择“路径” - >“联盟”。之后,相同颜色的所有路径都加入了,你可以试试“路径” - >“简化”,对我来说这通常也适用减少节点的数量,以一个体面的数量。
唯一的缺陷到目前为止,有时还有一些也将用这种方法选择和必须参加手动其他对象。
Mathworks,请在这行中实现svg导出的后处理(当然不是基于颜色)!
干杯。

5条评论

显示 2条旧评论
ILJA Maljutenko
ILJA Maljutenko 在2019 5月19日
@Gerrit,用画家渲染器保存在矢量格式e.g你的身材
打印(GCF,'-depsc','-油漆工','sine_test.eps')
saveas不按deafult保存矢量格式。
那个 间隙 19a的问题确实已经解决了。至少对于contourf补丁。
令pColor的矢量格式提供了很好的光栅化结果。做得好!即使是colorbars出现无间隙(他们似乎是光栅化藏汉)!
使用plot函数的简单曲线似乎也是统一的。
希望等高线是任务列表中的下一个,这样就有可能在地球科学中绘制出漂亮的海岸线。可能的解决方法是使用等高线函数创建等高线,并使用绘图函数绘制等高线矩阵。
作为专用Inkscape的用户,我也期待着Matlab的艺术品体面.SVG输出。
编辑:svg输出似乎已经实现了——很好,很干净。打印(gcf,'-dsvg','测试.svg')
Preetish卡卡尔
Preetish卡卡尔 在2019 5月20日
@llja,你能给我举个例子,你指的是等高线,你面对的等高线问题是什么?请给我一个轮廓的例子,我可以试试。
格里特艾克
格里特艾克 2019年5月21日
亲爱的大家,
为我在原始电子邮件中的错误篡改道歉。我知道这些东西是怎么回事。不过,我认为,鉴于产品的价格,这一具体问题应该得到高度重视。
像Ilja一样的经验:我也曾经将热图重新渲染为像素图形,并将其与顶部的自定义矢量图形轮廓相结合。我想是罗宾逊的预测。在我看来,这是一个足够的通用解决方案,但是,恐怕我的代码不够通用。
我没有机会尝试最新发布Matlab的,很遗憾。我不知道我是否理解正确ILJA在contourf的问题已经解决。如果不是这样,我想我的解决方案是非常容易和快速实施。我想单独着色的板,即轮廓线之间的表面上,具有独立的表示在内部。这里的“联盟” opreation将某物。喜欢该对象的所有节点的船体。

登录评论。


埃维莉娜特内尔
埃维莉娜特内尔 在二○一七年十二月一十五日
编辑:埃维莉娜特内尔 在二○一七年十二月一十五日
我从matlab导出了一个带有阴影区域的matlab图形,阴影区域是用“fill”创建的,并且一直在为矢量格式获取阴影区域上的线伪影。很烦人!epsclean没有解决我的问题(人工制品不太明显,但仍然存在)。然后我找到了这个解决方案:
https://github.com/dfarrel1/fix_matlab_vector_graphics
我在Windows 7中使用adobeillustratorcc2018和Matlab 2017a完成了这项工作:将您的图形保存在一个pdf文件中。从上面的链接下载这些东西。在Illustrator中打开pdf文件并执行文件脚本其他脚本:选择文件fixmatalabpdfoutput.jsx你已经下载了。瞧,你的工件pdf现在被一个好看的覆盖了(它仍然是矢量化的)。

0条评论

登录评论。


Preetish卡卡尔
Preetish卡卡尔 在2018年4月7日
编辑:Preetish卡卡尔 在2018年4月7日
我认为这应工作(对于例如contourf(峰(100));另存为(GCF, 'figure.eps', 'EPSC'))从开始17B。这个例子我给了不得生产白线。

3条评论

Pavaman
Pavaman 2018年10月11日
你说这些画家绘制的问题是固定的?
Preetish卡卡尔
Preetish卡卡尔 2018年10月11日
是的,我不会说每个画家问题是固定的,但我们已经取得了对不生产在某些情况下,白线长足的进步,如contourf比如我上面了。我会建议您尝试最新版本的MATLAB和报告发现的任何问题。我们会尽一切努力在提高质量,我们希望有更多的修复进来即将发布。
ILJA Maljutenko
ILJA Maljutenko 2018年10月11日
为了清楚起见。。。问题是“产生”差距,而不是白线。

登录评论。

登录来回答这个问题。