Python matplotlib使用
1.心形线
import numpy as np
import matplotlib.pyplot as plt
# 心形线
a = 1
theta = np.linspace(0, 2 * np.pi, 1000)
r = a * (1 - np.cos(theta))
plt.axes(polar=True)
plt.plot(theta, r)
plt.title(r"$\rho=a(1*cos\theta) \quad a=1 $")
plt.show()
import numpy as np
import matplotlib.pyplot as plt
# 阿基米德螺线
a = 1
theta = np.linspace(0, 2*np.pi, 1000)
r = a * theta
plt.axes(polar=True)
plt.plot(theta, r)
plt.title(r"$\rho=a\theta \quad a=1 $")
plt.show()
import numpy as np
import matplotlib.pyplot as plt
# 对数螺线
a = 1
theta = np.linspace(0, np.pi, 1000)
r = a * np.e**theta
plt.axes(polar=True)
plt.plot(theta, r)
plt.title(r"$\rho=ae^\theta \quad a=1 \quad (0\to\pi)$")
plt.show()
0->π
0->2π
import numpy as np
import matplotlib.pyplot as plt
a = 1
np.seterr(invalid='ignore') # 忽略警告,根号为负数时候
theta = np.linspace(0, 2*np.pi, 30000)
r = np.sqrt((a**2)*(np.cos(2*theta)))
plt.axes(polar=True)
plt.plot(theta, r)
plt.title(r"$\rho^{2}=a^{2}\cos 2\theta\quad a=1 $")
plt.show()
import numpy as np
import matplotlib.pyplot as plt
a = 1
t = np.linspace(-5, 5, num=1000)
x = a * np.power(np.cos(t), 3)
y = a * np.power(np.sin(t), 3)
plt.plot(x, y, 'r-', linewidth=0.5)
plt.grid()
plt.title(r"$ x^{\dfrac{2}{3}}+y^{\dfrac{2}{3}}=a^{\dfrac{2}{3}}\quad a=1 $")
plt.show()
plt.subplot(221)# (行,列, 显示位置),2行2列第1个图
import matplotlib.pyplot as plt
import numpy as np
# %matplotlib inline
# 画第1个图:折线图
plt.figure(figsize=(10, 10))
x = np.arange(1, 100)
# (行,列, 显示位置)
plt.subplot(221)
plt.plot(x, x * x)
# 画第2个图:散点图
plt.subplot(222)
plt.scatter(np.arange(0, 10), np.random.rand(10))
# 画第3个图:饼图
plt.subplot(223)
plt.pie(x=[15, 30, 45, 10], labels=list('ABCD'), autopct='%.0f', explode=[0, 0.05, 0, 0])
# 画第4个图:条形图
plt.subplot(224)
plt.bar([20, 10, 30, 25, 15], [25, 15, 35, 30, 20], color='b')
plt.show()
本文作者: 永生
本文链接: https://yys.zone/detail/?id=177
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!
评论列表 (0 条评论)