科学计算-----第二天6

极坐标与对数坐标的绘制

import numpy as np
import matplotlib.pyplot as plt

#对数坐标----------------------------------------
#绘制低通滤波器的频率响应
#用三种对数坐标表示,半对数坐标,全对数坐标。
w=np.linspace(0.1,1000,1000)
p=np.abs(1/(1+0.1j*w)) #低通滤波的频率响应

#plt.subplot(221)
#plt.plot(w,p,linewidth=2)
#plt.ylim(0,1.5)
#
#plt.subplot(222)
#plt.semilogx(w,p,linewidth=2)
#plt.ylim(0,1.5)
#
#plt.subplot(223)
#plt.semilogy(w,p,linewidth=2)
#plt.ylim(0,1.5)
#
#plt.subplot(224)
#plt.loglog(w,p,linewidth=2)
#plt.ylim(0,1.5)
#极坐标---------------------------------------------------
theta=np.arange(0,2*np.pi,0.02)

plt.subplot(121,polar=True) #创建一个极坐标子图
#plt.polar
plt.plot(theta,1.6*np.ones_like(theta),linewidth=2)
plt.plot(3*theta,theta/3,'--',linewidth=2)

plt.subplot(122,polar=True)
plt.plot(theta,1.4*np.cos(5*theta),'--',linewidth=2)
plt.plot(theta,1.8*np.cos(4*theta),linewidth=2)
plt.rgrids(np.arange(0.5,2,0.5),angle=45) #设置栅格的半径大小和文字标注的角度
#0.5 1 1.5 都在45度线上
plt.thetagrids([0,45])  #设置放射栅格的角度

#自己试验一下怎么画极坐标
plt.figure(2)
theta_=np.array([0,np.pi/4,np.pi/2,np.pi])
r_=np.array([1,2,3,4])
plt.polar(theta_,r_,marker='*',linewidth=3,color='b',mfc='r',ms=10)
#mfc是*的颜色  

发布了53 篇原创文章 · 获赞 23 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_37083038/article/details/102772166