python科研用哪个软件_科研画图都用什么软件?

笔者曾分别或同时使用过Excel、Matlab、Origin、GMT画过图。现在只使用Python的Matplotlib和Basemap模块,完全取代了上面所有软件画图。

matplotlib,是最经典的Python可视化绘图库。matplotlib就是MATLAB+Plot+Library,即模仿Matlab的绘图库,其绘图风格与Matlab类似。

basemap,Python的basemap库负责实现地理信息可视化,其功能之强大较GMT有过之而无不及。其底图数据库与GMT相同,封装了大量常用的地图投影、坐标转换功能,利用简洁的Python语法支持绘出多种多样的地理地图。

以上绘图库安装包大小在100M左右或以内。安装及卸载十分简单。大部分库支持在线安装。

控制台使用pip install matplotlib命令即可安装matplotlib库。安装之前需要先安装numpy,dateutil模块,安装命令分别为pip install numpy / pip install python-dateutil。此外,安装Pillow库,可以支持导出更多的如JPEG、BMP、TIFF等更多图片格式。

几个示例如下:

问:Python画图代码的可读性如何,图形种类多不多?

答:引用一个说法,Python的哲学就是“优雅”、“明确”、“简单”,尽量写容易看明白的代码,尽量写少的代码。这是Python的定位,使得Python程序看上去简单易懂,初学者容易入门,学习成本更低。

以最常用的matplotlib库为例,Python可以绘制多种形式,包括普通的点线图,柱状图、直方图,饼图,功率谱图,极坐标图以及误差线图等。参考matplotlib的官方网站https://matplotlib.org/index.html,在其examples页面,给出了上百个常用的绘图脚本及成图样例。

问:Python的图片如何保存为‘jpg’,‘bmp’,‘tif’等常见格式?

答:matplotlib支持导出emf,eps,pdf,png,ps,raw,rgba,svg,svgz图片格式。安装Pillow库之后,matplotlib可以自动调用Pillow支持导出bmp、eps、gif、jpeg、jpg、tiff等多种格式。

问:如何设置图片分辨率,dpi等参数?

答:配合设置figsize和dpi这两个参数调整图片像素和分辨率。

通过figsize参数设置画幅大小,单位为英寸:plt.figure(figsize=(8,4)) 。savefig保存图片时可通过可选参数dpi设置。有的期刊网站要求dpi不低于300。

问:图片如何裁去多余的白边?

答:在保存图片 savefig() 时的参数中添加 bbox_inches = 'tight',就可以去除因为画幅过大导致图片上下左右的白边。plt.savefig(‘mypic.jpg’, dpi=360, bbox_inches='tight')。

另一个可以自动调整绘图区排列的函数是tight_layout(),主要用于自动调整绘图区的大小及间距,使所有的绘图区及其标题、坐标轴标签等都可以协调、完整地显示在画布上。例如可以避免当绘图区的X/Y轴的标签,以及标题的字体非常大,导致这些文字不能完整显示出来。也可以避免创建了多个绘图区,绘图区之间有部分重叠的问题。

问:Python画图的优点?

答:简单总结下,Python画图优点有:脚本语法简单,很容易理解、上手;

跨平台(Win/Linux/Mac),开源;

安装简单,占用空间很小;

封装了一些“高级”属性/函数,比如支持设置dpi(有的期刊论文对图片dpi有要求);支持去除图片白边;支持自动调整多子图的间隔......

使用人数众多,社区活跃。2018年末 Python 在 TIOBE 排行榜中排行第三,仅次于Java、C,并且被评选为2018年年度编程语言。

以上内容首发在我的个人微信公众号“不迷途导航程序员”里,感兴趣的朋友可以关注:-)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值