python plt画半对数坐标_使用python绘制基本初等函数

本文介绍了如何使用Python的plt库绘制基本初等函数,包括幂函数、指数函数、对数函数、三角函数和反三角函数。讨论了这些函数的图像和性质,并提供了相关代码示例。特别地,提到了对数函数与指数函数的反函数关系,以及三角函数和反三角函数的相关性质。
摘要由CSDN通过智能技术生成

使用python绘制基本初等函数

  • 幂函数

  • 指数函数

  • 对数函数

  • 三角函数

  • 反三角函数

幂函数

为常数

幂函数的图像和性质随着的不同而不同

import matplotlib.pyplot as plt
import numpy as np

plt.rcParams['font.sans-serif'] = ['SimHei']  # 用于正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False    # 用来正常显示负号

x11 = np.arange(-4, -0.1, 0.01)
x12 = np.arange(0.1, 4, 0.01)
x2 = np.arange(0, 4, 0.01)
x3 = np.arange(-4, 4, 0.01)
x4 = np.arange(-3, 3, 0.01)
x5 = np.arange(-3, 3, 0.01)

f11 = [1 / i for i in x11]
f12 = [1 / i for i in x12]
f2 = [np.sqrt(i) for i in x2]
f3 = x3
f4 = [np.power(i, 2) for i in x4]
f5 = [np.power(i, 3) for i in x5]

plt.plot(x11, f11, 'k', label='$y=x^{-1}$')
plt.plot(x12, f12, 'k')
plt.plot(x2, f2, label='$y=x^{1/2}$')
plt.plot(x3, f3, label='$y=x$')
plt.plot(x4, f4, label='$y=x^2$')
plt.plot(x5, f5, label='$y=x^3$')

# 移动坐标轴及边框设置:https://www.jb51.net/article/172275.htm
ax = plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')
ax.spines['bottom'].set_position(('data', 0))
ax.spines['left'].set_position(('data', 0))

plt.legend(loc='upper left')
plt.show()
307becc35fd0b49f40a1f25a84e8bd30.png

指数函数

其中是常数,且当时,指数函数为单调增加函数;当时,指数函数为单调减少函数。但无论自变量取何值,指数函数的图像总是位于轴上方,并且一定会通过点(,),即当时,。

import matplotlib.pyplot as plt
import numpy as np

plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

x = np.arange(-4, 4, 0.01)

f11 = [2**i for i in x]
f12 = [4**i for i in x]
plt.plot(x, f11, label='$y=2^x,(a>1)$')
plt.plot(x, f12, label='$y=4^x,(a>1)$')

f21 = [0.5**i for i in x]
f22 = [0.25**i for i in x]
plt.plot(x, f21, label=r'$y=(\frac{1}{2})^x,(0)
plt.plot(x, f22, label=r'$y=(\frac{1}{4})^x,(0

72ef539078387d26e9a2812a2c8b59de.pngbb51d1e2050eb3b8a05e260dfd7b4657.png

对数函数

其中为常数,且。该函数的定义域为正的实数,故它的图像位于轴的右方,并通过点(,)。当时,对数函数为单调增加函数;当$0

下面代码使用到的性质:

import matplotlib.pyplot as plt
import numpy as np

plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

x = np.arange(0.01, 4, 0.01)

f11 = [np.log2(i) for i in x]
f12 = [np.log2(i)/np.log2(4) for i in x]
plt.plot(x, f11, label='$y=log_2^x,(a>1)$')
plt.plot(x, f12, label='$y=log_4^x,(a>1)$')

f21 = [np.log2(i)/np.log2(1/2) for i in x]
f22 = [np.log2(i)/np.log2(1/4) for i in x]
plt.plot(x, f21, label=r'$y=log_\frac{1}{2}^x,(0)
plt.plot(x, f22, label=r'$y=log_\frac{1}{4}^x,(0
7ec842f93baa089f4eb8e2a6733f06bb.png

对数函数与指数函数互为反函数,所以两者图像关于直线对称

d61f920d0847a17d0e65e0eab4d35fa7.png

三角函数

fce8e79251920c9ff3558769c571426c.png
import matplotlib.pyplot as plt
import numpy as np

plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

x = np.linspace(-2 * np.pi, 2 * np.pi, 200) 
f1 = np.sin(x)
f2 = np.cos(x)
f3 = np.tan(x)
f4 = 1 / f3
f5=1/f2
f6=1/f1
plt.plot(x, f1, label=r'$y=sin(x)$')
plt.plot(x, f2, label=r'$y=cos(x)$')
plt.plot(x, f3, label=r'$y=tan(x)$')
plt.plot(x, f4, label=r'$y=cot(x)$')
plt.plot(x, f5, label=r'$y=sec(x)$', )
plt.plot(x, f6, label=r'$y=csc(x)$', )
# 移动坐标轴及边框设置:https://www.jb51.net/article/172275.htm
ax = plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')
ax.spines['bottom'].set_position(('data', 0))
ax.spines['left'].set_position(('data', 0))

plt.xlim(x.min() * 1.1, x.max() * 1.1)  # limit x range
plt.ylim(-4, 4)  # limit y range
plt.xticks([-2 * np.pi, -3 * np.pi / 2, -np.pi, -np.pi / 2, 0, np.pi / 2, np.pi, 3 * np.pi / 2, 2 * np.pi],
           [r'$-2\pi$', r'$-3\pi/2$', r'$-\pi$', r'$-\pi/2$', r'$0$', r'$\pi/2$', r'$\pi$', r'$3\pi/2$', r'$2\pi$'])
plt.legend(loc='best')
plt.show()

e38a5c0fc747f436f31b9cbdaff61ed9.png
3074b15172803e60cb9b146b0c0766c6.png

579dd2f8084d61822a5cc310f3f74b75.png834ed6da922a8f5943e1062cd32cd61a.png

反三角函数

5d54affda98bb0b3ba5e3bb936a492b3.png

下面代码使用到的性质:

import matplotlib.pyplot as plt
import numpy as np

plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

x1 = np.linspace(-1, 1, 200)
x2 = np.linspace(-10, 10, 200)
f1 = np.arcsin(x1)
f2 = np.arccos(x1)
f3 = np.arctan(x2)
f4 = np.pi / 2 - np.arctan(x2)

plt.plot(x1, f1, label=r'$y=arcsin(x)$')
plt.plot(x1, f2, label=r'$y=arccos(x)$')
plt.plot(x2, f3, label=r'$y=arctan(x)$')
plt.plot(x2, f4, label=r'$y=arccot(x)$')

# 移动坐标轴及边框设置:https://www.jb51.net/article/172275.htm
ax = plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')
ax.spines['bottom'].set_position(('data', 0))
ax.spines['left'].set_position(('data', 0))


plt.yticks([-np.pi, -np.pi / 2, np.pi / 2, np.pi], [r'$-\pi$', r'$-\pi/2$', r'$\pi/2$', r'$\pi$', ])
plt.legend(loc='best')
plt.show()

81e6efa9eda5991374664c61cf0b5416.png
c41e8b711f9000a1ee2a81b93bc81ac0.png

如果你觉得这篇文章有用的话,求:

35af2467450979aeb2ae951a62384dc0.png

关注不迷路哦???ce4baa8f8cdbb75d689a2edbaaa400d9.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值