我使用 gmt 创建了几个具有相同轴的 x - y 图形的 .ps 文件。我有几组数据,每组包含 14 到 20 个图。每个图都在一个单独的目录中。
我想覆盖数据集中的每个 .ps,以显示图之间的相关性。
我知道这与此处发布的线程相似:
但我不必处理多个页面。
我不是程序员,我是学生!我真的很感激一种快速的方式将它们堆叠在一起以查看整体趋势。
如果没有,我要去买一堆 OHP 胶卷,然后找最近的复印机……它看起来不会那么闪亮。
感谢所有帮助!
我使用 gmt 创建了几个具有相同轴的 x - y 图形的 .ps 文件。我有几组数据,每组包含 14 到 20 个图。每个图都在一个单独的目录中。
我想覆盖数据集中的每个 .ps,以显示图之间的相关性。
我知道这与此处发布的线程相似:
但我不必处理多个页面。
我不是程序员,我是学生!我真的很感激一种快速的方式将它们堆叠在一起以查看整体趋势。
如果没有,我要去买一堆 OHP 胶卷,然后找最近的复印机……它看起来不会那么闪亮。
感谢所有帮助!
嗯,Inkscape网站说它可以导入 PostScript。不过,对此持保留态度-我自己还没有尝试过。
或者,如果你不介意弄脏你的手,PostScript 是一种相当易读的基于堆栈的编程语言——我强烈推荐A First Guide To PostScript。如果你能弄清楚文件的哪一部分包含你想要的情节,你应该能够将它们复制并粘贴在一起。这在很大程度上取决于 GMT 生成的代码的质量和组织。
您最好的选择可能是矢量图形应用程序,如 Inkscape(上图)或 Adobe Illustrator。
我以前做过类似的事情,使用 GMT 生成两个图(地球的相对侧)到 PS 并覆盖它们,一个翻转 180 度并反射(也就是说,将地球描绘成一个投影平面,每个点都相等和它的对立面)。
这是我的代码:
#!/bin/sh
GMT gmtset BASEMAP_FRAME_RGB +192/192/192
GMT gmtset BASEMAP_FRAME_RGB 0/0/0
GMT pscoast -JS-60/0/16 -R0/360/-90/90 -Di -A5000 -N1 -W -GP300/15:FLightRedB- -SWhite -P -K > mapa.ps
GMT pscoast -JS120/0/16 -R0/360/-90/90 -Bg30/g15 -Di -A5000 -N1 -W -GP300/15:FLightGreenB- -Sp1/50:F-B- -P -O > mapb.ps
sed -i 's/595 842/600 600/g' mapa.ps
sed -i 's/PSL/180 rotate -1 1 scale 0 -1890 translate \nPSL/' mapb.ps
cat mapa.ps mapb.ps > mapc.ps
ps2pdf mapc.ps
注释掉第二sed
行会覆盖它们而不翻转第二行。您可能可以通过调整此脚本并用您正在使用的任何内容替换 GMT 命令来实现您想要的。-O
用于第二个绘图的选项设置覆盖模式,它省略了触发创建新页面的 PS 代码。然后你可以把它们放在一起。