2014年3月24日

矢量图是个好东西

        一直以来写东西插图,无论在Word下还是在LaTeX下都是将各种图弄成jpg或者png的格式然后插入文档中,尤其是自己制作的流程图、曲线图之类的(一般将绘制的图转换为png格式的,因为jpg是有损压缩,会使得原来是白底的图上产生许多灰色的小噪点)。这样做一直也觉得是天经地义的,不好的一点是电子版论文放大后图像的结果惨不忍睹,或许提高图片的像素会好些,但也使最终的文档变得过大。

        最近看一些论文时,发现电子版里面的图片在放大后依然很清楚,尤其是图中的文字还可以复制,这些应该是传说中的矢量图吧。关于矢量图,记得LaTeX中有用到eps这个东西,正好最近运行的程序有生成eps格式的图片,就试着用在LaTeX上,不过好像XeLaTeX引擎不支持这个,网上搜后发现pdf格式的适量图比较好。就这样准备依照生成的数据用Matlab重新绘制,然后导出pdf格式的图片。

        说到Matlab的plot绘图命令,总觉得很麻烦,直接plot个图难看的要死,用交互式的窗口修改太麻烦,而且不能批量操作,直接在代码里设置有太多控制的参数,一直也记不住。所以所以这次就好好的从网上找了些资料,调整参数控制plot的绘图效果,设置的代码弄好后,在绘制其他数据时直接复制一下这些片段即可,也还是很方便的, 同时可控制输出的pdf文件的尺寸并直接保存结果,最后点击运行后就有直接生产好的漂亮美观的pdf矢量图了,真是太爽了。

        上面是数据图,用Matlab当然很方便。还有常用的流程图的绘制,在Linux下以前用过Dia的工具,这次正好想写个小结,准备试试,不过发现准备绘制的图的不太像流程图,有点示意图的感觉。然后就试了一下原本准备用来裁剪pdf的Inkscape,这个家伙名头可大了,记得当年玩Linux时装过,号称强大的开源的矢量图绘制软件,不过当时安装后也就胡乱的画一些线条、方框、圆圈之类的东西,就像第一次接触Windows画图板时干的差不多,之后就没怎么用过了。这次用来干正事时,一开始用觉得很不方便,就连最简单的裁剪功能也不会用,点击了裁剪命令后没反应,后来还是通过google解决了问题,这时才发现Inkscape设计的真是很强大,其裁剪的设计不是简单的普通的矩形裁剪,而是用户可以绘制一个区域,之后选中该区域和待裁剪的目标,然后点击裁剪命令,其运行的结果算是用户绘制的区域和目标进行的与操作的吧,这样不管传统的矩形还是圆形再或者是绘制的任意形状都可以,把传统的裁剪功能融合在这种高级的通用的方式下,看来Inkscape的设计还真的有独到之处。

        之后绘制自己想要的图,绘图这事,没有什么高技术含量,而且挺费时间的,不过慢慢的沉浸在其中,通过自己的工作最后生成一张精美的插图,从过程到结果还是挺享受的。这应该就是“明确的目标—努力实现—完成目标—收获喜悦与满足”的模式,可能是平时大多的目标很难有及时的反馈,而这个小任务简单易实现,容易给人以正面积极的反馈,而且也学习了些新的技能,也算是有收获的。

        生成了这些矢量图并另存为pdf格式,在LaTeX下直接可以插入,编译后的文档放大后图依然很清晰,图中的文字也可以复制了,不愧为矢量图,矢量图果然是个好东西。

Posted in , , . Bookmark the permalink. RSS feed for this post.

Done is better than perfect!