我正在尝试将Stata生成的直方图作为.eps文件导入 Mathematica ,但它不会显示轴的标签。也就是说,出于某种原因, Mathematica 不会导入.eps,而是转换它。
我该如何避免?截至目前,我正在使用普通的
Import["~/hst.eps"]
答案 0 :(得分:1)
我最近有一个similar problem的LateX和一个pdf图,它也表现了eps版本。我最后修改了用户编写的graphexportpdf,事情似乎已经解决了。也许你会发现这个解决方案很有用。
答案 1 :(得分:0)
Mathematica 目前(第9版)通常无法正确导入.eps文件中的文本元素。一种可能的解决方案是将绘图输出为.pdf而不是.eps绘制软件,然后Import
生成.pdf。如果您需要将文本作为文本导入,可以使用"TextOutlines" -> False
选项关闭大纲。
如果无法从您的绘图软件导出到.pdf,您可以convert .eps to .pdf通过其他程序,然后Import
生成.pdf,如上所述。
对于使用orders_weekly.eps然后Import
生成.pdf的文件gsEPS2PDFEmbedFonts
function,我得到( Mathematica 8.0.4):
gsEPS2PDFEmbedFonts["orders_weekly.eps", "orders_weekly.pdf"]
graphics=First@Import["orders_weekly.pdf"(*,"TextOutlines"->False*)];
Show[graphics, Frame -> True, PlotRange -> All, ImageSize -> Automatic]
我评论了"TextOutlines" -> False
选项,因为 Mathematica 8.0.4仍然错误地导入旋转文本。我没有用v.9测试它。
另一种可能性是将.eps文件中的所有glypth转换为oultines。基于Jens Nöckel's code,
gsEPS2outlinedEPS[epsPath_String, outlinedEPSPath_String] :=
Run["gswin64c.exe -sDEVICE=epswrite -dNOCACHE -sOutputFile=\"" <>
outlinedEPSPath <> "\" -q -dbatch -dNOPAUSE \"" <> epsPath <>
"\" -c quit"]
此处gswin64c.exe
是64位Windows系统的GhostScript可执行文件的名称,因为Linux将其替换为gs
。
请注意,您应该安装并配置GhostScript(对于Windows,您should将gs\bin
和gs\lib
添加到PATH
,其中gs
是顶级Ghostscript目录)