推荐用电脑绘图, 如果是安卓手机, 推荐  应用汇 --   pydroid.

# 本文的命令都要调用的包包,

# 此外 再次强调 for 条件  要加冒号 :  回车后循环体要加四个空格

import numpy as np

import matplotlib.pyplot as plt

0607395e87b3ab5075fR4vG6j.png一.   plt.plot() 参数篇

# marker 大全

x=np.array([-1,0,1])

y=np.array([-1,0,2])

mk= .,ov^ 1234sp*hH+xDd|_

for i in mk:

plt.plot(x,y+mk.index(i)/10,marker=i) # 上移

plt.show()

0607395e87b3ab820d5YQPl6v.png

# linestyle 大全

ls=[ - , -- , -. , : , ]

for i in range(len(ls)):

plt.plot(x,y+i/10,line >

plt.show()

0607395e87b3abbf167GA4dsW.png

# color 默认颜色大全, 还有十六进制颜色可选哦

lc= bgrcmykw

for i in lc:

plt.plot(x,y+lc.index(i),color=i)

plt.show()

0607395e87b3abe53c2HcL6ff.png

0607395e87b3ab5075fR4vG6j.png二. 常见基本初等函数绘图篇  (numpy 真香)

# np.linespace 分片线性差值 欺骗自己的眼睛

for i in range(1,17):

x=np.linspace(0,2*np.pi,i*2)

y=np.sin(x)

plt.subplot(4,4,i)  # 多子图利器

plt.plot(x,y,line >

plt.show()

0607405e87b3ac1edefZuXcsS.png

#  多项式函数

for i in range(0,4):

plt.subplot(2,2,i+1)

x=np.linspace(-2,2,121)

y=x**(i+1)

plt.plot(x,y,line >

plt.grid()

plt.show()

0607405e87b3ac5be80ARv2at.png

# 指数函数 对数函数

x=np.linspace(np.exp(-2),np.exp(2),121)

t=np.linspace(-2,2,121)

plt.plot(x,np.log(x))

plt.plot(t,np.exp(t))

plt.plot(2*t,2*t)

plt.grid() # 网格

plt.legend([ y=ln(x) , y=exp(x) , y=x ])  # 对应曲线的标签

plt.show()

0607405e87b3ac7e3d2a7cDkk.png

# np.linespace 反比例函数

t=np.linspace(-6,6,401)

plt.plot(t,1/t)

plt.plot(t,1/(t+3))

plt.plot(t,-1/t,color= r )

plt.grid()

plt.legend([ y=1/x , y=1/(x+3) , y=-1/x ])

plt.show()

0607405e87b3aca8336O2a4hc.png

# np.linespace 三角函数 cos vs sin

t=np.linspace(0,4*np.pi,121)

plt.plot(t,np.sin(t))

plt.plot(t,np.cos(t))

plt.grid(alpha=0.5)

plt.legend([ y=sin(t) , y=cos(t) ])

plt.show()

0607405e87b3acd229beaBBhj.png

# np.linespace 三角函数 tan

t=np.linspace(-np.pi*3/7,np.pi*3/7,121)

plt.plot(t,np.tan(t), b ,t+np.pi,np.tan(t), b )

plt.plot([np.pi/2,np.pi/2],[-5,5], : )

plt.text(np.pi/2,0, (π/2,0) )

plt.grid(alpha=0.5)

plt.legend([ y=tan(t) ])

plt.show()

0607415e87b3ad005acAl1F2G.png

# 函数的切线  泰勒级数的一阶展开

x=np.linspace(0,2*np.pi,121)

p=np.linspace(0,2*np.pi,13)

for i in range(0,13):

plt.subplot(4,4,i+1)

plt.plot(x,np.sin(x),line >

plt.plot(p[i],np.sin(p[i]), p )

plt.plot(x,np.cos(p[i])*(x-p[i])+np.sin(p[i]))

# 切线方程 f(x0)+f (x0)(x-x0)

plt.axis([0,2*np.pi,-5,5])

plt.show()

0607415e87b3ad2a511ybKfnO.png

#   泰勒级数的二阶展开

x=np.linspace(0,2*np.pi,121)

p=np.linspace(0,2*np.pi,13)

for i in range(0,13):

plt.subplot(4,4,i+1)

plt.plot(x,np.sin(x),line >

plt.plot(p[i],np.sin(p[i]), p )

plt.plot(x,np.sin(p[i])+np.cos(p[i])*(x-p[i])-np.sin(p[i])/2*(x-p[i])**2)

# 切线方程 f(x0)+f (x0)(x-x0)+f (x0)/2*(x-x0)^2

plt.axis([0,2*np.pi,-5,5])

plt.show()

0607415e87b3ad5076cBhFB9L.png

# 参数方程

x=np.linspace(0,2*np.pi,121)

plt.plot(np.cos(x),np.sin(x))

plt.plot(np.cos(x)/2,np.sin(x)/3)

plt.plot(np.cos(x)*(1-np.sin(x))/2,np.sin(x)*(1-np.sin(x))/2)

plt.grid()

plt.axis([-1.3,1.3,-1,1])

plt.legend([ circle , ellipsoid , heart ])

plt.show()

0607415e87b3ad769c7coHqpC.png

# 参数方程的切线 给自己挖坑...

x=np.linspace(0,2*np.pi,121)

p=np.linspace(0,2*np.pi,17)

k=np.array([-10,10])

for i in range(0,16):

plt.subplot(4,4,i+1)

plt.plot(np.cos(x)/2,np.sin(x)/3)

plt.plot(np.cos(p[i])/2-np.sin(p[i])/2* k  ,np.sin(p[i])/3+np.cos(p[i])*k/3)

plt.axis([-1.3,1.3,-1,1])

plt.grid()

plt.show()

0607415e87b3adac046JnomI9.png

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐