Matplotlib 显示数学曲线

使用matplotlib来显示数学曲线是常常使用的功能,因为它是非常简单、灵活和高效。如果你使用绘图软件来显示,可能就不如意了。又或者使用办公软件来生成曲线,就会非常麻烦,没有使用matplotlib这么方便了。但是在实际生活里,经常需要使用这些曲线作为演示,也需要这些曲线来解释很多工作中的成果。比如学生记忆能力与时间的关系,比如学生的体能与训练时间的关系。总之,很多需要绘图的地方,现在已经不用笔和纸去画了,但是也不至于使用那么专业的软件,比如AUTOCAD去画一个简单的数学曲线。虽然有一些人喜欢使用EXCEL来画图,但是EXCEL生成数据的能力有限,或者太复杂,不如使用python来得简单和灵活。因为VBA的宏学习起来比较麻烦,即使学会VBA,也只能使用到EXCEL里,别的地方也使用不到。不如python这样通用,可以使用的地方更加广泛,并且也简单一些。

要显示一条数学曲线,必要的条件还是设置显示范围,如果设置范围过大,那么图就会变小,显示得不合适。如果设置过小,那么又显示不完整。因此需要根据自己的数据来设置显示区域。至于怎么设置,可以参考前面的文章里的方法,plt.axis([0, 150, 0, 100])代码。

要显示数据曲线,必须有数据。因而构造数据就是第二步了,在这里构造一条指数关系的曲线,使用函数np.exp()来生成。先设置要显示数据从1到150,每间隔1就采用一个数据点,然后计算出来对应的指数值y1,就构造了x – y1的曲线了。

再在左上角显示图例的关系,使用下面的代码:

plt.legend(loc = 'upper left')

就会绘出图:



Matplotlib显示数学曲线

指显示这个曲线的样式、颜色。

如果想把图例放在不同的地方,可以设置loc的位置,所有位置如下:

Matplotlib显示数学曲线

如果设置为best,那么matplotlib就会根据曲线剩余的区域自动找到合适的地方添加这个图例。

整个例子显示如下图:

Matplotlib显示数学曲线

这个例子的代码如下:

import numpy as np
import matplotlib.pyplot as plt

fig = plt.figure('deepinout.com')
plt.axis([0, 150, 0, 100])
plt.axis('on')
plt.grid(True)

#定义显示的数据
x = np.arange(0, 150, 1)
y1 = 10 + np.exp(0.045*x)

#显示数据
plt.plot(x, y1, 'b', label = 'y1')

#图例
plt.legend(loc = 'upper left')

plt.show()
赞(1)
未经允许不得转载:极客笔记 » Matplotlib 显示数学曲线
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址