十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
使用python的matplotlib画正弦函数图像,还要用到numpy库,代码如下9行所示:
专注于为中小企业提供成都网站设计、成都网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业西峡免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了近1000家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
import numpy as np;
from matplotlib import pyplot as plt;
fig = plt.figure();
ax2= fig.add_subplot(111);
x=np.arange(0,100)/10;
y=np.sin(x);
ax2.plot(x,y);
plt.savefig('sine.png');
plt.show();
def func_sin():
# 准备 X 轴的数据, 0~10分成90段
x = np.linspace(0, 10, 90)
# 准备 y 轴的数据
y = []
for i in x:
print(i)
y.append(math.sin(i))
# 绘制线图
plt.plot(x, y,c='r' )
# 添加标题
plt.title("y = sin(x)")
# 添加 x 轴的信息
plt.xlabel("x")
# 添加 y 轴的信息
plt.ylabel("y")
# 显示线图
plt.show()
用python怎样画出如题所示的正余弦函数图像? 如此编写代码,使其中两个轴、图例、刻度,大小,LaTex公式等要素与原图一致,需要用到的代码如下,没有缩进:
#-*-codeing:utf-8;-*-
from matplotlib import pyplot as plt
import numpy as np
a=np.linspace(0,360,980)
b=np.sin(a/180*np.pi)
c=np.cos(a/180*np.pi)
fig = plt.figure()
ax = fig.add_subplot(111)
ax.set_xlim([0, 360])
ax.plot(a,b,label=r"$y=\sin(\theta)$")
ax.plot(a,c,label=r"$y=\cos(\theta)$")
ax.grid(True)
ax.set_ylabel(r"$y$")
ax.set_xlabel(r"$\theta$")
plt.xticks(np.arange(0,360+1,45))
plt.title("Sine Cosine Waves")
plt.legend()
plt.savefig("SinCosWaveDegFont.jpg")
plt.show()
代码运行show的窗口图
代码的截图
代码输出的文件的图
用泰勒级数
令x0=0
则f(x)=sinx=f(0)+f'(0)/1!*(x-0)+f''(0)/2!*(x-0)^2+……+f(n)(0)/n!*(x-0)^n+……
f'(x)=cosx,f''(x)=-sinx,f'''(x)=-cosx,f''''(x)=sinx=f(x),形成循环
所以sinx=0+1/1!*x+0/2!*x+(-1)/3!*x^3……+f(n)(0)/n!*(x-0)^n+……
即sinx=x/1!-x^3/3!+x^5/5!-x^7/7!+……
同理
f(x)=cosx,
f'(x)=-sinx,f''(x)=-cosx,f'''(x)=sinx,f''''(x)=cosx,也形成循环
所以cosx=1-x^2/2!+x^4/4!-x^6/6!+……
没接触过这个模块。但是画曲线用过其他的供参考。
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-10, 10, 10000)
a = np.sin(x)
b = np.cos(x)
c = np.tan(x)
d = np.log(x)
plt.figure(figsize=(8, 4))
plt.plot(x, a, label="$sin(x)$", color="green", linewidth=1)
plt.plot(x, b, label="$cos(x)$", color='blue', linewidth=1)
plt.plot(x, c, "b--", label="$tan(x)$", color='red', linewidth=1)
plt.plot(x, d, "b--", label="$log(x)$", color='grey', linewidth=1)
plt.xlabel("Time(s)")
plt.ylabel("Volt")
plt.title("PyPlot")
plt.xlim(-10, 10)
plt.ylim(-5, 5)
plt.legend()
plt.show()
因为 pow 是内置的方法,而 sin 是 math 包提供的方法。
如果你自己定义了一个 pow 方法,就会覆盖掉默认的 pow 方法,但是如果你 import 了两个包,两个里面都有 sin 方法,那么使用的时候如果不指定是哪个的话就无法准确执行了。同理,如果引用的是外部包的方法或者类的话,就一定要使用包名引用。如果每次打包名嫌麻烦的话,可以使用 import math as m 这样的缩写,下次就可以使用 m.sin() 了。