用matplotlib绘制数学图像

绘制美观漂亮的数学图像是往往是一件让我们头疼的事,因为我们既要保证绘图的准确性,又要同时做到使图像容易理解又不失美观。能画数学图像的软件种类很多,但好用的却很少。有些支持的图像类型很多功能很全,但是画出的图不平滑,有很多锯齿;而有些画的图形很漂亮,但支持的功能又少。Matplotlib 是一个数学图形绘制的 python 库,能够绘制出版质量的数学插图,同时功能也非常丰富。

Matplotlib 以下有几个特性:

  • 由代码控制绘出的图形,非常精确,但同时上手的难度较大,也不能所见即所得;
  • 支持反锯齿,绘出的图形光滑美观;
  • 可以嵌入\(\LaTeX\)公式,数学符号的表达更胜一筹;
  • 辅助的标注、指示功能也很完善,条理清晰。

Numpy 与 matplotlib 常常是一起使用的,matplotlib 支持 numpy 提供的矩阵和向量的数据结构,要安装这几个包很麻烦(尤其是在 Windows 系统中),如果用 Windows 系统的话,推荐大家下载一个特别为科学计算准备的 Python 版本winpython,包含了这两个库还有不少其他有用的包。

Matplotlib 的官网介绍上有个很有趣的柱形图,就是用一个礼品盒的图象生成的,如下图:
demo1

这里是一个 matplotlib 的小教程,用了一个例子来说明其使用方法,非常实用,最终效果图如下:
demo2

我也仿照上面的例子作了一个很简单的函数图象。
demo3

可以看出这个库还是相当强力的,更多的相关资料,请参考官方文档的用户指南

4 thoughts on “用matplotlib绘制数学图像

  1. […] 不过虽是这么说,安卓的编程倒是学到了不少,重力仪和陀螺仪的控制也熟悉了一些,想起前几天刚刚看到的 Python 包 Matplotlib,就想是不是可以用 matplotib 来绘制手机重力仪和陀螺仪数据实时的动态图像呢?因为之前都是画的静态图像,而像心电图、示波器这一类的动态图像的显示却没试过,所以萌生了这样的想法。 好了,话不多说。对 matplotlib 不熟悉的同学可以先参考一下用matplotlib绘制数学图像。 […]

Leave a Reply

Your email address will not be published. Required fields are marked *