python绘制指数函数 完整代码
上一期,我们介绍了指数函数的形和性质以及运算法则,其中有两个非常漂亮的指数函数图就是用python的matplotlib画出来的。这一期,我们将要介绍如何利用python如何绘制出如下指数函数。
我们知道当 0 < a < 1 0<a<1 0<a<1是,指数函数 y = a x y=a^x y=ax是单调递减的,当 a > 1 a>1 a>1时,是单调递增的,所以,我们首先要定义出指数函数
然后,利用numpy构造出自变量 x x x,利用上面定义的指数函数来计算出因变量 y y y
X=np.linspace(-4, 4, 40) #构造自变量组Y=[exponential_func(x) for x in X] #求函数值有了自变量和因变量的一些散点,那么就可以模拟我们平时画函数操作——描点绘图,利用下面代码就会画出
import math import numpy as np import matplotlib.pyplot as plt import mpl_toolkits.axisartist as axisartist #导入坐标轴加工模块plt.rcParams['font.sans-serif']=['SimHei']plt.rcParams['axes.unicode_minus']=Falsefig=plt.figure(figsize=(6,4)) #新建画布ax=axisartist.Subplot(fig,111) #使用axisartist.Subplot方法创建一个绘图区对象axfig.add_axes(ax) #将绘图区对象添加到画布中def exponential_func(x, a=2): #定义指数函数 y=math.pow(a, x) return yX=np.linspace(-4, 4, 40) #构造自变量组Y=[exponential_func(x) for x in X] #求函数值ax.plot(X, Y) #绘制指数函数plt.show()
虽然图1很简单,但是麻雀虽小五脏俱全,指数函数该有都有,接下来是如何让其看起来美观,这里重点介绍axisartist 坐标轴加工类,在画笛卡尔直角坐标系的时候我们已经用过了,这里就不再多说了。我们只需要在上面代码后面加上一些修改代码来将坐标轴好好打扮一番。
整个代码比较注重细节,如果你要画减函数,只需要将a的初始值设置到(0,1)之间的某个值即可。比如在定义函数的时候,令 a = 1 2 a=frac{1}{2} a=21便会画出如下指数函数图
相应的代码改写如下
参考文献
1,https://blog.csdn.net/zengbowengood/article/details/102862072
2,https://blog.csdn.net/zengbowengood/article/details/104260155