Matplotlib绘制雷达图和三维图的示例代码
1.雷达图
程序示例
'''1.空白极坐标图''' importmatplotlib.pyplotasplt plt.polar() plt.show() '''2.绘制一个极坐标点''' importnumpyasnp importmatplotlib.pyplotasplt #极坐标(0.25*pi,20) plt.polar(0.25*np.pi,20,'ro',lw=2)#'ro'红色圆点 plt.ylim(0,50) plt.show() '''3.绘制多个极坐标点''' importnumpyasnp importmatplotlib.pyplotasplt theta=np.array([0.25,0.5,0.75,1,1.25,1.5,1.75,2]) r=[75,60,50,70,50,85,45,70] plt.polar(theta*np.pi,r,'ro',lw=2)#'ro'红色圆点 plt.ylim(0,100) plt.show() '''4.链接极坐标点''' importnumpyasnp importmatplotlib.pyplotasplt theta=np.array([0.25,0.5,0.75,1,1.25,1.5,1.75,2]) r=[75,60,50,70,50,85,45,70] plt.polar(theta*np.pi,r,'ro-',lw=2) plt.ylim(0,100) plt.show() '''5.闭合链接极坐标点''' importnumpyasnp importmatplotlib.pyplotasplt #只需在末尾添加一个和起始点重合的点 theta=np.array([0.25,0.5,0.75,1,1.25,1.5,1.75,2,0.25]) r=[75,60,50,70,50,85,45,70,75] plt.polar(theta*np.pi,r,'ro-',lw=2) plt.ylim(0,100) plt.show() '''6.填充颜色''' importnumpyasnp importmatplotlib.pyplotasplt #只需在末尾添加一个和起始点重合的点 theta=np.array([0.25,0.5,0.75,1,1.25,1.5,1.75,2,0.25]) r=[75,60,50,70,50,85,45,70,75] plt.polar(theta*np.pi,r,'ro-',lw=2) plt.fill(theta*np.pi,r,facecolor='r',alpha=0.5)#填充 plt.ylim(0,100) plt.show() '''7.绘制成绩雷达图''' importnumpyasnp importmatplotlib.pyplotasplt courses=['C++','Python','Java','C','C#','Go','Matlab'] scores=[82,100,90,78,40,66,88] datalength=len(scores) angles=np.linspace(0,2*np.pi,datalength,endpoint=False)#均分极坐标 scores.append(scores[0])#在末尾添加第一个值,保证曲线闭合 angles=np.append(angles,angles[0]) plt.polar(angles,scores,'rv-',lw=2) plt.thetagrids(angles*180/np.pi,courses,fontproperties='simhei') plt.fill(angles,scores,facecolor='r',alpha=0.4)
程序示例
'''1.绘制三维曲线,并设置图例字号'''
importmatplotlib.pyplotasplt
importnumpyasnp
importmatplotlibasmpl
importmatplotlib.font_managerasfm
frommpl_toolkits.mplot3dimportAxes3D#不可缺少
fig=plt.figure()
ax=fig.gca(projection='3d')#设置图像属性
#测试数据
theta=np.linspace(-4*np.pi,4*np.pi,100)
z=np.linspace(-4,4,100)*0.3
r=z**4+1
x=r*np.sin(theta)
y=r*np.cos(theta)
ax.plot(x,y,z,'b^-',label='3D测试曲线')
#设置图例的字体,字号
font=fm.FontProperties('simhei')
mpl.rcParams['legend.fontsize']=10
ax.legend(prop=font)
plt.show()
'''2.绘制三维柱状图,并每个柱子颜色随机'''
importnumpyasnp
importmatplotlib.pyplotasplt
importmpl_toolkits.mplot3d
x=np.random.randint(0,40,10)
y=np.random.randint(0,40,10)
z=80*abs(np.sin(x+y))
ax=plt.subplot(projection='3d')
forxx,yy,zzinzip(x,y,z):
color=np.random.random(3)
ax.bar3d(xx,yy,0,dx=1,dy=1,dz=zz,color=color)
ax.set_xlabel('X轴',fontproperties='simhei')
ax.set_ylabel('Y轴',fontproperties='simhei')
ax.set_zlabel('Z轴',fontproperties='simhei')
plt.show()
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。