Python 绘制你想要的数学函数图形
Python 非常热门,但除非工作需要没有刻意去了解更多,直到有个函数图要绘制,想起了它。结果发现,完全用不着明白什么是编程,就可以使用它完成很多数学函数图的绘制。
通过以下两个步骤,就可以进行数学函数的绘制了。
两个步骤
(1)安装 Anaconda
Anaconda 包含了 Python 的运行环境、诸多科学计算库以及好些实用工具,安装它,有当前所需的一切。看它们的翻译,的确也是同类。
下载地址:https://www.anaconda.com/distribution/
直接运行安装即可,有点大。
(2)编织代码运行
运行 Anaconda Navigator,打开界面中的 Spyder,如下图:
进入编辑界面,我们以一个最简单的 y = x 函数为例输入以下代码:
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(1, 10, 1000)
y = x
plt.plot(x,y,'r',linewidth=2)
运行它就能看到已经有我们想要的结果。
关键解析
这几行代码中,前两行是引入相应的功能库,Anaconda 已经包含了这些库,复制代码上去即可。最后一行是执行绘制。所以关键的代码以下两行。
x = np.linspace(1, 10, 1000)
y = x
而第一行指明的是 x 的取值范围,x = np.linspace(1, 10, 1000)表示 x 的取值范围为 1 至 10,后边那个 1000 指的是细粒度,线是由点构成的,但点是无穷的,我们通过有限的点形成线,理论上点定义得越细线越精确。
则我们只剩下第二行 y = x 的函数部分了,对于 y = f(x) 的函数,仅此一处写函数即可。试试:
y = np.sin(x)
是不是完全只需要关心数据函数,如果你需要的就是这些,至此就可以了。
更多控制
若需要进一步的对坐标进行修饰,设置坐标轴标签,精准刻度等,可以参考:
https://www.jianshu.com/p/78ba36dddad8
更多库功能:
numpy 库基础信息可参考:https://www.numpy.org/devdocs/user/basics.html
matplotlib.pyplot 库操作可参考: https://matplotlib.org/api/pyplot_api.html
不得不提
Anoconda 除了提供 Spyder 编辑工具,还提供 Jupyter notebook 工具,即所谓有文学编程工具(左手程序员,右手作家),了解它可参阅此文章:http://python.jobbole.com/87527/?repeat=w3tc
以下为本文介绍的几个函数通过 Jupyter notebook 形成文档的一个示例:
http://www.timeddd.com/sample/drawfunc.html
效果如下: