Friday, September 12, 2008

[Python]用Pylab给Paper画图

之前写paper 画图一般都用Matlab画图。因为Matlab的plot可以生成eps格式的图片。但是最近都是用Python的pylab包来画图。原因是一般用在paper里的eps文件插在paper里通常都显得字比较小,需要调整线宽和字体大小。手动在matlab的figure编辑界面里自然可以修改,但每次都要做同样的工作非常令人厌烦。或者可以在matlab画图的源文件里加上比如 plot(...., "linewidth", 2)之类的语句, 但是当画图的语句一多起来,这样也很麻烦。所以我觉得用pylab来画图更加方便。pylab的绘图语句和matlab有高度的兼容性。另外python强大的文件处理和字符串处理能力正是matlab的软肋。

使用pylab画图的时候, 可以事先用 rcParams 来改变默认的线宽、图例的字体大小、x,y轴的label和tick的字体大小。

rcParams['lines.linewidth']=2
rcParams['legend.fontsize']=16
rcParams['axes.labelsize']=14
rcParams['xtick.labelsize']=14
rcParams['ytick.labelsize']=14

后面就用普通的plot函数(用法和matlab一样)来画图。再有就是可以用savefig来直接存成eps文件。

No comments: