python绘制指数函数

  • 完整代码

上一期,我们介绍了指数函数的形和性质以及运算法则,其中有两个非常漂亮的指数函数图就是用python的matplotlib画出来的。这一期,我们将要介绍如何利用python如何绘制出如下指数函数。


我们知道当0<a<10<a<10<a<1是,指数函数y=axy=a^xy=ax是单调递减的,当a>1a>1a>1时,是单调递增的,所以,我们首先要定义出指数函数

import math
...
def exponential_func(x, a): #定义指数函数y=math.pow(a, x)return y

然后,利用numpy构造出自变量xxx,利用上面定义的指数函数来计算出因变量yyy

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方法创建一个绘图区对象ax
fig.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 坐标轴加工类,在画笛卡尔直角坐标系的时候我们已经用过了,这里就不再多说了。我们只需要在上面代码后面加上一些修改代码来将坐标轴好好打扮一番。

完整代码

# -*- coding: utf-8 -*-
"""
Created on Sun Feb 16 10:19:23 2020
project name:
@author: 帅帅de三叔
"""
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方法创建一个绘图区对象ax
fig.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()
# 从此处开始打扮
print(max(X), max(Y)) #测试一下自变量最大值和因变量最大值,为后面的坐标轴设置依据
ax.axis[:].set_visible(False) #隐藏原来的实线矩形
ax.axis["x"]=ax.new_floating_axis(0, 0, axis_direction="bottom") #添加x轴
ax.axis["y"]=ax.new_floating_axis(1, 0, axis_direction="bottom") #添加y轴ax.axis["x"].set_axisline_style("-|>", size=1.0) #给x坐标轴加箭头
ax.axis["y"].set_axisline_style("-|>", size=1.0) #给y坐标轴加箭头ax.annotate(s='x', xy=(max(X), 0), xytext=(max(X)+0.5, 0.5)) #标注x轴
ax.annotate(s='y', xy=(0, 1.0), xytext=(-0.5, max(Y)+0.5)) #标注y轴plt.xlim(-4, 5) #设置横坐标范围
plt.ylim(-1, 17) #设置纵坐标范围
X_lim=np.arange(min(X), max(X)+1, 1)
ax.set_xticks(X_lim) #设置x轴刻度
Y_lim=np.arange(0, max(Y)+1, 1)
ax.set_yticks(Y_lim) #设置y轴刻度
ax.annotate(s=r'$y=a^x$',xy=(3, 10), xytext=(3, 10))

整个代码比较注重细节,如果你要画减函数,只需要将a的初始值设置到(0,1)之间的某个值即可。比如在定义函数的时候,令a=12a=\frac{1}{2}a=21​便会画出如下指数函数图

相应的代码改写如下

def exponential_func(x, a=1/2): #定义指数函数y=math.pow(a, x)return y

参考文献
1,https://blog.csdn.net/zengbowengood/article/details/102862072
2,https://blog.csdn.net/zengbowengood/article/details/104260155

python绘制指数函数相关推荐

  1. python绘制指数函数图像及性质_python实现画出e指数函数的图像

    这里用Python逼近函数y = exp(x);同样使用泰勒函数去逼近: exp(x) = 1 + x + (x)^2/(2!) + .. + (x)^n/(n!) + ... #!/usr/bin/ ...

  2. python绘制指数函数图像及性质_指数函数图像及其性质正式版

    教学设计方案 课题名称: 指数函数图像及其性质 姓名: 安翠青 工作单 位: 滦 县 第 六 中 学 学科年级: 高一年级 教材版 本: 人教 A 版 一. 教学内容分析 指数函数是重要的基本初等函数 ...

  3. python指数函数的计算_python绘制指数函数

    上一期,我们介绍了指数函数的形和质以及运算法则,其中有两个非常漂亮的指数函数图就是用python的matplotlib画出来的.这一期,我们将要介绍如何利用python绘制出如下指数函数. 图 1 a ...

  4. python绘制对数函数

    python绘制对数函数 a>1 完整代码 效果图 a>1 完整代码 效果图 对数函数vs指数函数 完整代码 效果图 参考文献 上一期,我们在探讨对数函数性质的时候,我们画了几个非常漂亮的 ...

  5. python绘制对数函数_python绘制对数函数

    上一期,我们在探讨性质的时候,我们画了几个非常漂亮的图,这一期,就把画图的python放上来,设对数函数为 其中a>0,且a≠1.对应的指数函数为.现在来分a>1和0 (1) 当0 完整代 ...

  6. 使用python绘制基本初等函数

    文章目录 使用python绘制基本初等函数 幂函数 指数函数 对数函数 三角函数 反三角函数 使用python绘制基本初等函数 基本初等函数{幂函数:xa,指数函数:ax(a>0,a≠1)对数函 ...

  7. python绘制基本初等函数(一)

    python绘制数学函数图形 基本初等函数概念 常数函数 幂函数 指数函数 对数函数 三角函数 反三角函数 完整代码 代码解释 之前用python绘制了笛卡尔直角坐标系,绘制了指数函数,绘制了对数函数 ...

  8. 怎么用python找论文_如何利用Python绘制学术论文图表方法

    论文中图表形式多样,常用的处理工具有excel.MATLAB以及Python等,excel自处理的方法有两个缺陷: 1.当数据较多时,容易出现excel"翻白眼"的现象: 2.需要 ...

  9. python绘制条形图用什么函数_Python绘制正余弦函数图像完整代码

    通过python绘制正弦和余弦函数,从默认的设置开始,一步一步地调整改进,让它变得好看,变成我们初高中学习过的图象那样.通过这个过程来学习如何进行对图表的一些元素的进行调整. 01. 简单绘图 mat ...

  10. python绘制所有特征的密度图(density plot)

    python绘制所有特征的密度图(density plot) # python绘制所有特征的密度图: n = len(input_feats) #密度图kde,查查分布 cols = 4 rows = ...

最新文章

  1. Exception经验之谈,万万没想到被很多团队采纳!
  2. 华科计算机复试考什么,华科计算机复试的机试
  3. IBM MQ Explore使用
  4. mysql数据库的远程访问_mysql数据库远程访问设置方法
  5. 需求文档中容易出的错误
  6. [加密]SSL/TLS原理详解
  7. 文字处理技术:复杂的行宽计算
  8. java 软考_关于软考
  9. GBDT算法(最简单)
  10. 默纳克系统服务器怎么查故障,默纳克系统NICE3000和NICE3000new故障历史记录查询方法...
  11. MATLAB数值计算——矩阵的逆、矩阵的特征值、矩阵的特征多项式
  12. 效果图色彩与色彩搭配原理
  13. 计算机桌面无法中英文切换,输入法无法切换到中文怎么办_输入法失效只能打英文的解决方法...
  14. Raft:更加“实用主义”的分布式一致性算法
  15. 锐捷服务器系统安全,更安全 锐捷网络发布RG-ESS易安全系统
  16. linux 向终端 发送消息,Linux向不同的连接终端窗口发送消息
  17. 存储过程和存储函数 练习
  18. 9月有哪些程序员新书与您相约?
  19. Oculus Rift正式发售,准备好开始迈向VR时代
  20. 品Spring:详细解说bean后处理器

热门文章

  1. 安装和使用Entrez Direct
  2. IDC基础知识-名词解释
  3. 中国最酷、最美的女明星不是王菲,而是她!
  4. 吐槽 intent:#Intent;S.K_1171477665=;end
  5. java 全双工串口,Java实现全双工串口通信
  6. 在线CUR格式转换器
  7. Webcontent 和WebRoot的区别
  8. OpenCv鼠标事件
  9. vi编辑器 末尾添加_linux下的VI编辑器使用手册
  10. myscript 思路整理